Android 编译错误::app:transformClassesWithPreJackPackagedLibrariesForDebug
2017-02-27 18:11
597 查看
Error:Execution failed for task ':app:transformClassesWithPreJackPackagedLibrariesForDebug'. > com.android.build.api.transform.TransformException: com.android.jack.api.ConfigNotSupportedException: Jack requires Build Tools 24.0.0 or later1
2
1
2
这问题很显示,需要build tools 24.0.0以上!(later-以上,我英语不好?)
主要是因为我之前用了Android N和JDK1.8开发,后来又换了android sdk23,jdk1.7就出现这个问题!
所以解决这个问题,把build.gradle里的jackOptions 属性enabled 值改为false就好!
defaultConfig { applicationId "id" minSdkVersion 14 targetSdkVersion 23 versionCode 1 versionName "1.0.0" jackOptions { enabled false } }1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
那jack又是有什么用:
Java 8支持
早在前年开始研究 Annotation 的时候,就在感慨为什么 Android 一直不支持 Java 8,即使现在 Java 9 都快出了。终于的终于,Android从N 版本开始支持 Java 8的编译,前提是要在 Gradle 文件中显式声明使用 Jack 编译器。
这个 Jack 是什么鬼呢?简单来说,传统的编译工具链是将 java 代码通过 javac 编译成.class 文件,再通过 dx 编译成 .dex。也就是酱紫的:
javac (.java --> .class) --> dx (.class --> .dex) 而 Jack 则是一条龙服务,中间不需要经过其他工具或者命令,一条命令就可以将.java 文件编译成.jack 从而编程.dex: ack (.java --> .jack --> .dex) 使用 jack 非常简单,gradle 配置即可 android { ... defaultConfig { ... jackOptions { enabled true } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } }
相关文章推荐
- Android build.gradle 问题:transformClassesWithPreJackPackagedLibrariesForDebug
- 错误:Execution failed for task ':app:transformClassesWithDexForDebug'. > com.android.build.api.transfo
- 使用AS编译时,报Error:Execution failed for task ':app:transformClassesWithDexForDebug'. > com.android.build
- 解决 Android 编译报错:Error:Execution failed for task ':app:transformClassesWithDexForDebug' 的过程
- Android Studio编译报“app:transformClassesWithExtractJarsForDebug”
- Android 编译报错:Error:Execution failed for task ':app:transformClassesWithDexForDebug'
- 使用Android Stdio出现':app:transformClassesWithDexForDebug'错误
- 解决 Android 编译报错:Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
- Android 编译报错:Error:Execution failed for task ':app:transformClassesWithDexForDebug'
- 错误:Execution failed for task ':app:transformClassesWithDexForDebug'. > com.android.build.api.transfo
- Android导入第三方SDK时 Execution failed for task ':app:transformClassesWithJarMergingForDebu ‘ 错误的解决方法
- 安卓中编译报错Error:Execution failed for task ':app:transformClassesWithDexForDebug'解决
- Error:Execution failed for task ':app:transformClassesWithAndroidGradleClassShrinkerForDebug'
- Error:Execution failed for task ':app:transformClassesWithDexForDebug'. > com.android.build.api.tran
- ':app:transformClassesWithDexForDebug'. > com.android.build.transform.api.TransformException: when i
- Android Error:Execution failed for task ':app:transformClassesWithDexForDebug'.异常
- Error:Execution failed for task ':app:transformClassesWithDexForDebug'. > com.android.build.api.tran
- Android Studio 编译过程中 ':app:transformClassesWithDexForDebug' Multiple dex files define
- android - Error:Execution failed for task ':app:transformClassesWithDexForDebug'. > co
- Android中Error:Execution failed for task ':app:transformClassesWithDexForDebug'解决方案