【问题标题】:Failed to sign APK package. (Unity3d)未能签署 APK 包。 (Unity3d)
【发布时间】:2017-11-28 23:49:46
【问题描述】:

每当我尝试构建我的项目时,我都会收到这个:

“签名APK包失败。

CommandInvokationFailure: Failed to sign APK package.
C:\Users\FENIX\AppData\Local\Android\Sdk\build-tools\27.0.1\apksigner.bat sign --ks "F:/Farouk/Backupgames/user.keystore" --ks-pass pass:"password" --ks-key-alias "fenix" --key-pass pass:"password" "C:\Windows\Temp\SauceChase\Temp/StagingArea/Package.apk"

stderr[
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
]
stdout[
-Djava.ext.dirs=C:\Users\FENIX\AppData\Local\Android\Sdk\build-tools\27.0.1\lib is not supported.  Use -classpath instead.
]
exit code: 1
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg)
UnityEditor.Android.PostProcessor.Tasks.TasksCommon.Exec (System.String command, System.String args, System.String workingdir, System.String errorMsg)
UnityEditor.Android.PostProcessor.Tasks.BuildAPK.SignPackage (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.Tasks.BuildAPK.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.HostView:OnGUI()

当我将构建系统切换到“Gradle(new)”时,APK 已成功签名,但是游戏充满了错误/广告没有显示等,而且我的 google 广告插件发生冲突“发现 Android 库播放冲突-services-ads-license”。

使用 jdk1.8.0_151 和可用的最新 SDK 版本。

我尝试过的事情清单:

将 JDK 降级到版本 8。

将 _JAVA_OPTIONS 设置为 Xmx512M / Xmx1G。

使用 apksigner.bat + Shell 手动签署 APK。

我已经完成了我的第一个统一游戏已经 2 天了,但无法解决这个问题,所以我可以将它上传到应用商店。

【问题讨论】:

  • 在统一制作apk之前,您是否在设置时提供了密钥?
  • 当然是 Mohammed,在构建我的 APK 之前,我确实在发布设置下设置了一个新密钥。

标签: java unity3d signing


【解决方案1】:

我终于通过这样做解决了这个问题:

  • 从我的统一资产文件夹中完全删除我当前的谷歌移动广告版本。
  • Github 下载最新的谷歌移动广告版本。
  • 我运行 gradlew.bat,位于下载的文件夹“\googleads-mobile-unity-master\gradlew.bat”中
  • 确保在全局/局部变量下将 _JAVA_OPTIONS 设置为 Xmx512M(或更高)。
  • 将此位于“\googleads-mobile-unity-master\source\plugin\Assets”中的内容复制到我的资产项目文件夹中。
  • 重新启动窗口。
  • 最后我可以在“内部”构建系统下签署我的 APK。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-24
    • 1970-01-01
    相关资源
    最近更新 更多