【问题标题】:Getting errors while building an Unity app in android在 Android 中构建 Unity 应用程序时出错
【发布时间】:2018-04-27 21:55:27
【问题描述】:

我正在尝试为 android 构建一个 Unity app,但我遇到了太多错误。以下是我的 Unit 应用程序中的错误详细信息。

这是错误 1:

CommandInvokationFailure: Failed to build apk.
C:\Program Files\Java\jdk-10\bin\java.exe -Xmx2048M     -Dcom.android.sdkmanager.toolsdir="C:\Users\HMM\AppData\Local\Android\Sdk\tools" -Dfile.encoding=UTF8 -jar "D:\Program Files\Unity     2018.1.0b13\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\sdktools.jar" -

stderr[
Exception in thread "main" java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native     Method)
    at     java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAc    cessorImpl.java:62)
    at     java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Delegating    MethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at SDKMain.main(SDKMain.java:130)
Caused by: java.lang.NoClassDefFoundError: sun/misc/BASE64Encoder
    at com.android.sdklib.internal.build.SignedJarBuilder.<init>    (SignedJarBuilder.java:177)
    at com.android.sdklib.build.ApkBuilder.init(ApkBuilder.java:446)
    at com.android.sdklib.build.ApkBuilder.<init>(ApkBuilder.java:422)
    at com.android.sdklib.build.ApkBuilder.<init>(ApkBuilder.java:362)
    at UnityApkBuilder.<init>(UnityApkBuilder.java:214)
    at UnityApkBuilder.main(UnityApkBuilder.java:34)
    ... 5 more
Caused by: java.lang.ClassNotFoundException: sun.misc.BASE64Encoder
    at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:466)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:566)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
    ... 11 more
]
stdout[

]
exit code: 1
UnityEditor.Android.Command.WaitForProgramToRun     (UnityEditor.Utils.Program p,     UnityEditor.Android.WaitingForProcessToExit     waitingForProcessToExit,     System.String errorMsg)
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi,         UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit,         System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.RunCommandInternal (System.String         javaExe, System.String sdkToolsDir, System.String[] sdkToolCommand, Int32     memoryMB, System.String workingdir,     UnityEditor.Android.WaitingForProcessToExit waitingForProcessToExit,     System.String errorMsg)
UnityEditor.Android.AndroidSDKTools.RunCommand (System.String javaExe,     System.String sdkToolsDir, System.String[] sdkToolCommand, Int32 memoryMB,     System.String workingdir, UnityEditor.Android.WaitingForProcessToExit     waitingForProcessToExit, System.String errorMsg)
UnityEditor.BuildPlayerWindow:BuildPlayerAndRun()

这是错误 2:

 "Build completed with a result of 'Failed'
    UnityEditor.BuildPlayerWindow:BuildPlayerAndRun()

然后我得到另一个错误:

Build completed with a result of 'Failed'
UnityEditor.BuildPlayerWindow:BuildPlayerAndRun()

谁能帮我解决这个错误。随时欢迎任何建议

【问题讨论】:

    标签: android unity3d


    【解决方案1】:

    此错误可能是由多种原因引起的。

    1) 更新 JDK

    2) 检查 Java 路径。

    3) 更新 Android SDK

    4) 删除插件文件夹下统一资产文件夹中重复的 .jar 文件。

    5) 检查 AndroidManifest.xml 中的目标版本和 Player Settings 是否应该相同。

    【讨论】:

      【解决方案2】:

      我通过将 Java JDK 从 v10 降级到 v8 来修复它:3

      感谢您的提示!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-27
        • 1970-01-01
        相关资源
        最近更新 更多