代码之家  ›  专栏  ›  技术社区  ›  cozimo

Unity:未能构建apk

  •  1
  • cozimo  · 技术社区  · 8 年前

    所以我试了所有我能找到的。它不断显示以下内容。我尝试用较低版本替换工具文件夹(C:/Users/(我的用户名)/AppData/Local/Android/Sdk)。我尝试替换整个sdk。我尝试卸载android Studio,然后重新安装。我真的不知道还能做什么。有点令人失望的是,我终于完成了一个原创的小游戏,但无法制作它。在过去的12个小时里,我一直在努力解决这个问题。谢谢你的时间!

    Error building Player: CommandInvokationFailure: Failed to build apk. See the Console for details.
    C:/Program Files/Java/jdk-9.0.1\bin\java.exe -Xmx2048M -Dcom.android.sdkmanager.toolsdir="C:/Users/dlma1/AppData/Local/Android/Sdk\tools" -Dfile.encoding=UTF8 -jar "D:\Programming\Unity\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(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:564)
        at SDKMain.main(SDKMain.java:129)
    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:212)
        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:563)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
        ... 11 more
    ]
    stdout[
    
    ]
    
    1 回复  |  直到 8 年前
        1
  •  3
  •   Community Mohan Dere    6 年前

    根据 this answer 看来。。。

    Java 9删除了sun/misc/BASE64Encoder类。

    一种解决方法是降级到Java 8。