Android 升级到最新支持库后 JACK 编译器错误
Android JACK compiler error after upgrade to latest support library
--Android Studio 2.2.3 (Windows 10 64 bit)
--Build Tools version 25
--Android Gradle Plugin Version 2.2.3
升级到最新的支持库(从 23.4.0 到 25.1.0)并更改编译版本(从 23 到 25)后,我收到此错误:
Error:com.android.sched.util.config.PropertyIdException: Property 'jack.library.import' (in Options): element #7: The version of the library file '..\app\build\intermediates\transforms\preJackPackagedLibraries\debug\jars00f\classes-1b6639e8217419d056942b0dacd1542739f1709f.jar' is not supported anymore. Library version: 3.2 - Current version: 3.3 - Minimum compatible version: 3.3
...
BUILD FAILED
有没有人遇到过这个问题?在提到的 .jar 文件中,我可以找到一些 AnimatedVectorDrawble 相关文件。我的应用 build.gradle
android{
编译SDK版本25
buildToolsVersion '25.0.2'
defaultConfig {
applicationId "package"
minSdkVersion 14
targetSdkVersion 25
versionCode 111
versionName "1.1.1"
}
defaultConfig {
vectorDrawables.useSupportLibrary = true
jackOptions.enabled = true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
dexOptions {
maxProcessCount 4
javaMaxHeapSize "2g"
}
buildTypes {
release {
minifyEnabled false
useProguard false
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
useProguard false
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
applicationIdSuffix ".dev"
versionNameSuffix "-DEV"
ext.enableCrashlytics = false
}
}
}
根据错误消息,启用 Jack 的构建似乎无法处理您更新 Gradle 构建设置的所有情况。 Jack 保留了预编译内容的缓存 (preJackPackagedLibraries
),而您更改的某些内容导致 Jack 不喜欢预编译的内容 material。理想情况下,构建系统会检测到这种情况并简单地重新编译它,但显然它没有。
清理项目(构建 > 清理项目)有望在所有情况下解决这个问题。
--Android Studio 2.2.3 (Windows 10 64 bit)
--Build Tools version 25
--Android Gradle Plugin Version 2.2.3
升级到最新的支持库(从 23.4.0 到 25.1.0)并更改编译版本(从 23 到 25)后,我收到此错误:
Error:com.android.sched.util.config.PropertyIdException: Property 'jack.library.import' (in Options): element #7: The version of the library file '..\app\build\intermediates\transforms\preJackPackagedLibraries\debug\jars00f\classes-1b6639e8217419d056942b0dacd1542739f1709f.jar' is not supported anymore. Library version: 3.2 - Current version: 3.3 - Minimum compatible version: 3.3 ... BUILD FAILED
有没有人遇到过这个问题?在提到的 .jar 文件中,我可以找到一些 AnimatedVectorDrawble 相关文件。我的应用 build.gradle android{ 编译SDK版本25 buildToolsVersion '25.0.2'
defaultConfig {
applicationId "package"
minSdkVersion 14
targetSdkVersion 25
versionCode 111
versionName "1.1.1"
}
defaultConfig {
vectorDrawables.useSupportLibrary = true
jackOptions.enabled = true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
dexOptions {
maxProcessCount 4
javaMaxHeapSize "2g"
}
buildTypes {
release {
minifyEnabled false
useProguard false
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
useProguard false
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
applicationIdSuffix ".dev"
versionNameSuffix "-DEV"
ext.enableCrashlytics = false
}
}
}
根据错误消息,启用 Jack 的构建似乎无法处理您更新 Gradle 构建设置的所有情况。 Jack 保留了预编译内容的缓存 (preJackPackagedLibraries
),而您更改的某些内容导致 Jack 不喜欢预编译的内容 material。理想情况下,构建系统会检测到这种情况并简单地重新编译它,但显然它没有。
清理项目(构建 > 清理项目)有望在所有情况下解决这个问题。