You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Android Studio与Gradle后Manifest合并失败求助

搞定Manifest合并冲突:launchMode属性重复问题

嘿,这个问题我太熟悉了!你遇到的是两个依赖库(com.awareframework:aware-core:4.0.555和com.github.denzilferreira:aware-client:4.0.555)都声明了同一个com.aware.ui.PermissionsHandler Activity,而且给它设置了不同的launchMode值,导致Manifest合并工具卡壳不知道该用哪个。下面给你几个实用的解决办法:

办法1:在主Manifest里强制指定属性

最简单的方式是在你自己项目的AndroidManifest.xml里重新声明这个Activity,明确你想要的launchMode,同时告诉合并工具替换掉依赖库中的冲突值:

<!-- 先确保Manifest根标签里有tools命名空间,如果没有就加上 -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <!-- 然后添加这个Activity声明 -->
    <activity
        android:name="com.aware.ui.PermissionsHandler"
        android:launchMode="singleTop" <!-- 这里选你需要的模式,比如保留aware-core的singleTop,或者换成另一个库的取值 -->
        tools:replace="android:launchMode" />
</manifest>

tools:replace的作用就是告诉合并工具:“听我的,用我这里的launchMode值覆盖掉其他地方的冲突值”。

办法2:移除其中一个冗余的Activity声明

如果其中一个库的这个Activity声明对你的项目没用,你可以直接在主Manifest里把它删掉:

<activity
    android:name="com.aware.ui.PermissionsHandler"
    tools:node="remove" />

这样合并工具就会只保留另一个库的Activity声明。不过用这个办法前,最好确认一下移除其中一个不会影响功能哦。

办法3:检查是否存在重复依赖

看这两个库的版本号都是4.0.555,说不定aware-client已经包含了aware-core的功能?你可以先排查一下依赖树,看看是不是重复引入了。

在Android Studio里,你可以打开File > Project Structure > Modules,选中你的app模块,切换到Dependencies标签查看;或者在终端运行这个命令:

./gradlew app:dependencies

如果发现aware-client已经依赖了aware-core,那你直接去掉单独的aware-core依赖就行,这样就不会有两个Manifest声明打架了。


内容的提问来源于stack exchange,提问作者Ricardo Faria

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:22:41