【问题标题】:Unity: Unabe to merge Android ManifestsUnity:无法合并 Android 清单
【发布时间】:2019-01-07 16:53:59
【问题描述】:

我正在尝试使用 Unity 制作 Android 游戏。我正在使用两个模块,它们将使用插件/Android 功能 1. sqlite.so 2. SimpleNotification.aar 它给了我错误:

\Temp\StagingArea\AndroidManifest-main.xml:4:58-89 错误: 属性 application@icon value=(@mipmap/app_icon) 来自 AndroidManifest-main.xml:4:58-89 也出现在 AndroidManifest.xml:10:3-36 value=(@drawable/app_icon)。 建议:将 'tools:replace="android:icon"' 添加到 AndroidManifest-main.xml:4:3-12:17 的元素以覆盖。

在网上搜索了几个小时后,尝试了很多东西: 1. 工具:replace="android:icon" 中 2. xmlns:tools=http://schemas.android.com/tools in 3.在播放器设置中设置targetSdkVersion

enter image description here 但我有几个疑问 1. 如何知道我正在使用的 .aar 文件或 .so 文件等库的最低/目标 Android API 级别 2. 我的 Plugin/Android 文件夹中没有 Android Manifest 文件。 清单文件在 Temp/Staging Area 中生成 [可能会出错]

即使我将 AndroidManifest 文件从 Temp 复制到 Plugin/Android 文件夹并进行了上述更改,例如 tools:replace="android:icon" 但仍然出现相同的错误。

【问题讨论】:

    标签: unity3d android-manifest


    【解决方案1】:

    该错误表明该图标存在于两个清单 xml 中,如果将其从其中一个中删除会怎样?

    1:库通常包含一个清单,其中显示了所需的最低 Android API 级别,请选择其中最大的。

    2:尝试将它从临时文件夹移动到 Plugins/Android 并删除它提到“android:icon”的行。实际上确保图标只设置在一个地方,不确定哪种方法最好设置。可能因为是unity设置的,在manifest里就不用再手动设置了。

    在我的例子中,我使用它来设置应用程序图标:

    <application
      android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
      android:icon="@drawable/app_icon"
          android:label="@string/app_name"
          android:debuggable="true">
    ....
    </application>
    

    如果你复制这个,它对你有用吗?

    【讨论】:

    • 我试过这个....从 Temp 文件夹给我同样的错误。 IMO Unity 未使用 Plugins/Android 文件夹中的 AndroidManifest。它正在 Temp 文件夹中创建一个新文件夹并使用该文件夹...并给我同样的错误。我猜它是从 Unity 的 Player 设置中自动生成的。播放器设置中的某些字段应进行更改,以在具有正确值的正确文件夹中生成 Android 清单。
    • 这里是 Unity 如何生成 android manifest docs.unity3d.com/Manual/android-manifest.html 所以它基本上合并了它找到的每个 manifest。您确定项目中的所有清单之间没有冲突吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-19
    • 2018-03-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多