Unity集成AAR打包生成双APK且卸载联动问题咨询
解决Unity打包Android出现两个关联"APK"的问题
你遇到的其实不是真的两个独立APK——卸载其中一个另一个也消失,说明它们本质是同一个应用包,只是系统识别出了两个桌面入口。结合你提到的包名一致、Manifest片段信息,核心原因大概率是Manifest合并冲突导致出现了两个Launcher Activity,下面是具体的排查和解决步骤:
1. 先排查AAR自带的Manifest
很多第三方AAR会内置自己的Manifest文件,甚至包含带有android.intent.category.LAUNCHER的Activity,这会和Unity项目的主Activity冲突,合并后系统就会生成两个桌面图标。
操作步骤:
- 把你的AAR包后缀改成
.zip,解压后找到里面的AndroidManifest.xml - 搜索
LAUNCHER,查看是否存在带有这个category的Activity节点
如果找到了,就在Unity项目的Plugins/Android目录下的主Manifest中,添加以下代码移除这个多余的Launcher Activity:
<!-- 先在根manifest节点添加tools命名空间 --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="com.bojoy.xplan"> <!-- 替换成AAR中找到的那个Launcher Activity的完整类名 --> <activity android:name="com.bojoy.xplan.AAR自带的Activity类名" tools:node="remove" /> <!-- 你的其他Manifest内容 --> </manifest>
2. 检查Unity的Build配置
- 再次确认
Player Settings > Android > Package Name和AAR的包名完全匹配,不能有大小写或字符差异 - 查看
Player Settings > Android > Launcher Activity,确保设置的是Unity的主Activity(一般是com.unity3d.player.UnityPlayerActivity或你自定义的继承类),避免重复配置
3. 查看合并后的最终Manifest
Unity打包时会自动合并所有Manifest,你可以导出Android项目来查看最终的合并结果,精准定位问题:
- 在Unity的
Build Settings中勾选Export Project,导出Android Studio项目 - 打开项目后,找到
app/src/main/AndroidManifest.xml,搜索android.intent.category.LAUNCHER - 如果发现两个不同的Activity都带有这个category,就针对性移除多余的那个(用上面的
tools:node="remove"方法)
4. 处理AAR的Application节点冲突
如果AAR的Manifest里有独立的<application>节点,可能会和Unity的Application配置冲突,导致合并异常。你可以在主Manifest的<application>节点添加tools:node="merge",确保所有属性正确合并:
<application android:label="@string/app_name" android:icon="@mipmap/app_icon" tools:node="merge"> <!-- 你的Application内容 --> </application>
内容的提问来源于stack exchange,提问作者One Double
相关产品推荐
相关产品推荐

