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。理想情况下,构建系统会检测到这种情况并简单地重新编译它,但显然它没有。

清理项目(构建 > 清理项目)有望在所有情况下解决这个问题。