排除或覆盖 AAR 清单
Excluding or overriding an AAR manifest
我正在将一个库添加到我的项目中。它打包为 AAR
。但它有一个 BroadcastReceiver
监听 BOOT_COMPLETED
启动服务。我不想在我的应用程序中出现这种行为。我希望它在应用程序启动时启动。 (这部分已经通过 AAR
完成,我假设以防用户强行停止应用程序)。
有没有办法修改他们的清单;或者在 Gradle
中指定不合并他们的清单(我认为我必须在我自己的清单中声明他们的活动);或者覆盖他们的清单并为 BroadcastReceiver
"?
设置 android:enabled="false
我也想在清单或 Gradle
中执行此操作,因为如果我以编程方式执行此操作并且如果他们安装了该应用程序但从未打开它,则下次用户重新启动时图书馆服务将自动启动他们的 phone.
您可以在您的清单中重新声明它们的 BroadcastReceiver
并使用 android:enabled="false"
后接 tools:node = "replace"
。
此外,如果您以后想要启用它,可以使用 PackageManager
中的 setComponentEnabledSetting()
方法。
您可以只用WinRAR 或其他工具打开AAR 文件并自行编辑清单文件。 AAR 只是打包的 ZIP 文件,就像 APK 一样。
确实,Android Studio 可以更优雅地处理这个问题,但我不知道这是否可行
我正在将一个库添加到我的项目中。它打包为 AAR
。但它有一个 BroadcastReceiver
监听 BOOT_COMPLETED
启动服务。我不想在我的应用程序中出现这种行为。我希望它在应用程序启动时启动。 (这部分已经通过 AAR
完成,我假设以防用户强行停止应用程序)。
有没有办法修改他们的清单;或者在 Gradle
中指定不合并他们的清单(我认为我必须在我自己的清单中声明他们的活动);或者覆盖他们的清单并为 BroadcastReceiver
"?
android:enabled="false
我也想在清单或 Gradle
中执行此操作,因为如果我以编程方式执行此操作并且如果他们安装了该应用程序但从未打开它,则下次用户重新启动时图书馆服务将自动启动他们的 phone.
您可以在您的清单中重新声明它们的 BroadcastReceiver
并使用 android:enabled="false"
后接 tools:node = "replace"
。
此外,如果您以后想要启用它,可以使用 PackageManager
中的 setComponentEnabledSetting()
方法。
您可以只用WinRAR 或其他工具打开AAR 文件并自行编辑清单文件。 AAR 只是打包的 ZIP 文件,就像 APK 一样。
确实,Android Studio 可以更优雅地处理这个问题,但我不知道这是否可行