如何在发布 apk 中删除/禁用 objectbox 数据浏览器服务?

How to remove / disable objectbox data browser service in release apk?

在发布版本的apk中,我检查了代码,下面几行是自动添加的

<service android:name="io.objectbox.android.AndroidObjectBrowserService" android:exported="false" />
<receiver android:name="io.objectbox.android.AndroidObjectBrowserReceiver" android:exported="false">
     <intent-filter>
          <action android:name="io.objectbox.action.KEEP_ALIVE" />
     </intent-filter>
</receiver>

我曾经使用过db浏览器,但现在我在发布apk时不再使用Objectbox db浏览器,我也删除了所有依赖项,清理并重建项目,但这个服务仍然存在!

如何预防?

将以下内容添加到清单中以防止合并这些节点:

<receiver
    android:name="io.objectbox.android.AndroidObjectBrowserReceiver"
    tools:node="remove" />
<service
    android:name="io.objectbox.android.AndroidObjectBrowserService"
    tools:node="remove" />

您也可以通过打开 AndroidManifest.xml,切换到 Merged Manifest 选项卡并右键单击以删除这些节点(这会将上面的行添加到你的清单)。

来源:https://developer.android.com/studio/build/manifest-merge

我们 (ObjectBox) 将在以后的更新中从 objectbox-android 工件中删除这些节点,因此只有在使用 objectbox-android-objectbrowser 工件时才会添加它们。以上将不再是必需的。