【问题标题】:Unable to merge android manifests. See the Console for more details [duplicate]无法合并 android 清单。有关更多详细信息,请参见控制台 [重复]
【发布时间】:2017-06-06 09:14:36
【问题描述】:

在统一制作 apk 文件时出现以下错误。我设置了最低 API 级别 = 19 和目标 24。因为我为 Gear VR 构建了一个 apk,并且我有三星 S7 Edge。

CommandInvokationFailure:无法合并 android 清单。见 控制台了解更多详情。 C:/程序 文件/Java/jdk1.8.0_131\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir="C:/Android/sdk\tools" -Dfile.encoding=UTF8 -jar "C:\Users\saad asghar\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\sdktools.jar" -

stderr[错误:无效的命令manifmerger]标准输出[

] 退出代码:64 UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String 错误消息) UnityEditor.Android.AndroidSDKTools.RunCommandInternal (System.String javaExe, System.String sdkToolsDir, System.String[] sdkToolCommand, Int32 memoryMB, System.String workingdir, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String 错误消息) UnityEditor.Android.AndroidSDKTools.RunCommandSafe (System.String javaExe, System.String sdkToolsDir, System.String[] sdkToolCommand, Int32 memoryMB, System.String workingdir, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) UnityEditor.HostView:OnGUI()

【问题讨论】:

  • 检查你的项目中是否只有一个android.manifest文件
  • 可能“-D file.encoding=”和“-D com.android.sdkmanager.toolsdir”之间应该有空格。
  • 你的意思是我统一设置的sdk路径有错误?请详细说明你的答案我不明白这个“-D file.encoding=”和“-D com.android.sdkmanager.toolsdir”之间的关系
  • 有两个清单文件,一个是 android.manifest-main,另一个是 android.manifest 存在于 androidlibrary/ovrplugin 帮助我该怎么办?

标签: unity3d


【解决方案1】:

由于这个Unity bug(与最新的Android SDK工具版本有关)而发生错误。

在错误信息中可以看到“manifmerger”工具返回错误码(64):

stderr[错误:无效的命令manifmerger]标准输出[

] 退出代码:64

该错误已在最新的 Unity(测试版)版本中修复。如该页面所述,有一种解决方法:

客户的解决方法。

  1. 只要打开https://developer.android.com/studio/index.html
  2. 向下滚动到该页面的底部
  3. 去下载
  4. 向下滚动到该页面的底部
  5. 找到Windows“tools_r25.2.3-windows.zip”下载并解压
  6. 或者,在 Mac 上:找到 MacOSX "tools_r25.2.3-macosx.zip" 下载并解压缩。
  7. 在 SDK 路径中替换工具文件夹。

这是来自 issuetracker 页面的引用。我添加了下载的直接链接,因为它们似乎从 Android 网站上消失了。

【讨论】:

  • 感谢您的回复!我已经尝试过这个解决方案,但仍然遇到同样的错误,如果我下载统一测试版,这样可以解决我的问题吗?
  • 这应该可以解决您的问题。作为我演出的一部分,我已经为无数的开发人员做过这个:fiverr.com/lysergide/…你不应该使用测试版(我自己没有测试过,所以我不确定它是否能解决问题)。
  • 非常感谢!你节省了我的时间,在我做错事之前更换工具后它就可以工作了。谢谢大佬帮忙
  • 很高兴听到。将此标记为答案,以便对其他人有所帮助
【解决方案2】:

您可以尝试提高您的最低 api 级别,通常是当目标设备和最低 api 级别之间存在很大差异时,Unity 无法合并 android 清单。

我希望这能解决你的问题:)

【讨论】:

  • 感谢您的回复!建议我应该设置什么最低 API 级别?
  • 在我将最低 API 级别提高到 23 后,它对我不起作用,但仍然出现相同的错误。
  • 你的skd ndk和jdk更新了吗?我可能会导致问题
  • 我认为由于我的项目中有 2 个清单文件而出现错误,因为我使用 OVR 插件,一个是主要清单,另一个是清单。而且我不安装ndk,因为我读到没有必要。如果你说我也安装了 ndk,是的 sdk 和 jdk 更新到现在
  • 我使用统一 5.6.1f1。这个版本有什么问题吗?
【解决方案3】:

非常感谢大家的帮助!

最后我通过以下步骤制作apk文件。

1 刚打开https://developer.android.com/studio/index.html 2 向下滚动到该页面的底部 去下载 向下滚动到该页面的底部 3 找到Windows“tools_r25.2.3-windows.zip”下载并解压 4 或者,在mac上:找到MacOSX“tools_r25.2.3-macosx.zip”下载并解压。 5 在 SDK 路径中替换 tools 文件夹。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-02
    • 2014-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 2015-11-04
    相关资源
    最近更新 更多