首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >由于AndroidManifest.xml,Android热交换无法工作

由于AndroidManifest.xml,Android热交换无法工作
EN

Stack Overflow用户
提问于 2019-12-08 12:27:45
回答 1查看 1.9K关注 0票数 2

当单击Android中的“应用代码更改”时,控制台中会出现此错误。

代码语言:javascript
运行
复制
Changes were not applied.
Modifications to AndroidManifest.xml require an app restart.
Manifest 'AndroidManifest.xml' was modified.

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

我尝试将Android和Gradle更新到最新版本,使缓存无效,并在没有运气的情况下进行重建。

EN

回答 1

Stack Overflow用户

发布于 2019-12-10 23:37:50

我也经历过同样的问题,它是由第三方gradle插件引起的。若要修复,请尝试删除与processManifest gradle任务一起运行的任何gradle插件。

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

  1. 在您的设备上构建和安装应用程序,就像通常在
  2. 打开安卓工作室底部的" build“窗格一样,并将视图切换到”代码模式“(绿色锤子下面的按钮)
  3. ,单击”应用更改“按钮以触发生成窗格中的另一个构建
  4. ,您将看到类似于

g 210的内容

代码语言:javascript
运行
复制
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任务,它总是按设计运行,但也会触发清单进行重建。删除Bugsnag插件修复了我们的应用程序的问题。

编辑:

如果您的问题与Bugsnag有关,您可以禁用用于构建类型的插件,而不是完全用以下方式删除它:

代码语言:javascript
运行
复制
android {
    buildTypes {
        debug {
            ...
            ext.enableBugsnag = false
        }
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59235381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档