解决AndroidStudio中Error:Android Dex: [xxx] Failed to load dx.jar的问题

最近在做公司项目的时候,从AndroidStudio打算导出APK包,然后发现报错了

Error:Android Dex: [xxx] Failed to load dx.jar
Error:Android Dex: [xxx] java.lang.ClassNotFoundException: com.android.dx.command.DxConsole
Error:Android Dex: [xxx] at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
Error:Android Dex: [xxx] at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
Error:Android Dex: [xxx] at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
Error:Android Dex: [xxx] at org.jetbrains.android.compiler.tools.AndroidDxRunner.loadDex(AndroidDxRunner.java:80)
Error:Android Dex: [xxx] at org.jetbrains.android.compiler.tools.AndroidDxRunner.runDex(AndroidDxRunner.java:136)
Error:Android Dex: [xxx] at org.jetbrains.android.compiler.tools.AndroidDxRunner.main(AndroidDxRunner.java:336)
Error:Android Dex: [xxx] Exception in thread "main" java.lang.NullPointerException
Error:Android Dex: [xxx] at org.jetbrains.android.compiler.tools.AndroidDxRunner.runDex(AndroidDxRunner.java:139)

这个问题在以前导出时并没有遇到 ,考虑到刚升级了build-tool,于是去SDK里搜索,果然发现了dx.jar在Android\sdk\build-tools\26.0.0\lib中


解决方法:

(1)打开Android Studio中的SDK Manager 



(2)在SDK Tools的标签下勾选Show Package Details 



(3)选择上一版本的build-tools进行下载,这里选的25.0.3

(4)用上版本build-tools/lib的dx.jar 替换26.0.0里的dx.jar(请备份好原来的!!)

(5)重新编译项目,不报错了!

不过这里只是解决办法,能不替换最好,但我目前并没有发现。

你可能感兴趣的:(Android)