排除或覆盖AAR清单

che*_*emp 6 android gradle android-manifest aar

我正在为我的项目添加一个库.它打包成一个AAR.但它有一个BroadcastReceiver听取BOOT_COMPLETED启动服务.我不想在我的应用程序中出现此行为.我希望它能在应用程序启动时启动.(这部分已经完成AAR,我假设用户强制停止了应用程序).

有没有办法修改他们的清单; 或者指定Gradle不合并他们的清单(我认为我必须在我自己的清单中宣布他们的活动); 或者覆盖他们的清单,并android:enabled="falseBroadcastReceiver"?

我也希望在清单中执行此操作,或者Gradle因为如果我以编程方式执行此操作,并且如果他们安装应用程序但从未打开它,那么下次用户重新启动手机时,库服务将自动启动.

rau*_*aug 5

您可以BroadcastReceiver在清单中重新声明它们并使用android:enabled="false"后跟tools:node = "replace".

此外,如果您以后想要启用它,您可以使用setComponentEnabledSetting()里面的方法PackageManager.

  • 很好!这似乎有效,这也让我找到了`tools:node:"remove"`,这很可能是我会使用的。多谢! (2认同)