Android_AndroidStudio配置

IDE降低了程序编译的门槛, 让Android程序的编译和运行变得简单易操作. 但无论Eclipse还是Android Studio, IDE都不是非常智能和可靠的, 总会出大大小小的问题. 很多时候, 我会花费很多精力去解决编译器出现的重复的编译问题, 面向搜索引擎+英语, 一路调试到build success. 这不是根本的办法, 必须深入理解Android源码的编译过程和原理, 才能一劳永逸的解决问题.

 

Android Studio的IDE采用了构建工具gradle, 关于build.gradle构建脚本, 链接戳右边:

 

包引用重复

Q: Android Studio com.android.dex.DexException: Multiple dex files define

A:

Java编译版本不一致

Q: java语法库不支持的类版本错误

Error: java.lang.UnsupportedClassVersionError: com/android/dx/command/Main: Unsupported major.minor version 52.0Error: at java.lang.ClassLoader.defineClass1(Native Method) Error: at java.lang.ClassLoader.defineClass(ClassLoader.java:800) Error: at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) Error: at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) Error: at java.net.URLClassLoader.access$100(URLClassLoader.java:71) Error: at java.net.URLClassLoader$1.run(URLClassLoader.java:361) Error: at java.net.URLClassLoader$1.run(URLClassLoader.java:355) Error: at java.security.AccessController.doPrivileged(Native Method) Error: at java.net.URLClassLoader.findClass(URLClassLoader.java:354) Error: at java.lang.ClassLoader.loadClass(ClassLoader.java:425) Error: at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) Error: at java.lang.ClassLoader.loadClass(ClassLoader.java:358) Error: at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482) Error:Exception in thread "main"  Error:java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0 Error: at java.lang.ClassLoader.defineClass1(Native Method) Error: at java.lang.ClassLoader.defineClass(ClassLoader.java:800) Error: at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) Error: at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) FAILURE: Build failed with an exception. Error: at java.net.URLClassLoader$1.run(URLClassLoader.java:361) Error: at java.net.URLClassLoader$1.run(URLClassLoader.java:355) Error: at java.security.AccessController.doPrivileged(Native Method) Error: at java.net.URLClassLoader.findClass(URLClassLoader.java:354) Error: at java.lang.ClassLoader.loadClass(ClassLoader.java:425) Error: at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) Error: at java.lang.ClassLoader.loadClass(ClassLoader.java:358) Error: at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482) Error:Exception in thread "main"

* What went wrong:

Execution failed for task ':app:transformClassesWithDexForDebug'

> com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException:

com.android.ide.common.process.ProcessException: java.util.concurrent.ExcutionException:

com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExceException: Process 'command 'C:\Program Files\Java\jdk1.7.0_67\bin\java.exe' finished with non-zero exit value 1

* Try:

Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output

A: AS自带的buildToolsVersion版本和Java JDK版本不一致. 可以降低JDK版本或者修改buildToolsVersion版本, 直接在build.gradle中修改, 将buildToolsVersion "24.0.1"降低到"23.0.3"

posted @ 2016-11-01 16:14  Elsa_Rong  阅读(386)  评论(0编辑  收藏  举报