gpt4 book ai didi

java - 由于 AndroidManifest.xml,Android 热插拔无法正常工作

转载 作者:行者123 更新时间:2023-12-01 19:34:16 32 4
gpt4 key购买 nike

在 Android Studio 中单击“应用代码更改”时,我在控制台中收到此错误。

Changes were not applied.
Modifications to AndroidManifest.xml require an app restart.
Manifest 'AndroidManifest.xml' was modified.

但是,我没有对 AndroidManifest.xml 文件进行任何更改。我通过git验证了AndroidManifest.xml,没有进行任何更改。

我尝试将 Android Studio 和 Gradle 更新到最新版本,使缓存无效并重建,但没有成功。

最佳答案

我遇到了同样的问题,它是由第三方 gradle 插件引起的。要修复此问题,请尝试删除与 processManifest gradle 任务一起运行的所有 gradle 插件。

应用更改不起作用的原因是,在确定应用更改是否可以运行时,Android Studio 会查看合并的manifest.xml 文件的上次修改值。 gradle 任务 process{buildVarient}Manifest 运行时将始终更新合并 list 的最后修改值。通常,如果 list 文件中没有任何更改,则 gradle 会跳过该任务,允许应用更改来工作。就我而言,gradle 插件可能会导致进程 list 任务运行。调试:

  1. 像平常一样在您的设备上构建并安装应用
  2. 打开 android studio 底部的“构建” Pane ,并将 View 切换到“代码模式”(绿色锤子下方的按钮)
  3. 点击“应用更改”按钮以触发另一个构建
  4. 在构建 Pane 中,您应该会看到类似这样的内容
Executing tasks: [:app:assembleDebug]

...

> Task :app:mergeDebugResources UP-TO-DATE
> Task :app:javaPreCompileDebug UP-TO-DATE
> Task :app:createDebugCompatibleScreenManifests UP-TO-DATE
> Task :app:processDebugManifest
> Task :app:processBugsnagDebugManifest
> Task :app:processDebugResources
> Task :app:compileDebugJavaWithJavac UP-TO-DATE
> Task :app:compileDebugSources UP-TO-DATE

...

> Task :app:packageDebug
> Task :app:assembleDebug

BUILD SUCCESSFUL in 2s
132 actionable tasks: 5 executed, 127 up-to-date

请注意,app:processDebugManifest 任务未标记为UP-TO-DATE,这意味着它已运行。

对我来说,问题是 Task :app:processBugsnagDebugManifest 任务,它总是按设计运行,但也会触发 list 重建。删除 Bugsnag gradle 插件解决了我们应用程序的问题。

编辑:

如果您的问题出在 Bugsnag 上,您可以禁用构建类型的插件,而不是完全删除它:

android {
buildTypes {
debug {
...
ext.enableBugsnag = false
}
}
}

关于java - 由于 AndroidManifest.xml,Android 热插拔无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59235381/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com