当我将设备升级到 Android O 时,我试图调查一些奇怪的通知事情。所以我更新了 build.gradle 以编译 26,使用构建工具 26.0.0 和 targetSdkVersion.apiLevel = 26。
一旦我这样做并尝试构建,我就会收到以下错误,因为我有 Gradle 3.3
Error:Execution failed for task ':mobile:transformJackWithJackForArmDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.core.JackToolchain$ToolchainException: Jack configuration exception.
Property 'jack.library.import' (in Options): element #7: The version of the library file 'D:\MyApp\mobile\build\intermediates\transforms\preJackPackagedLibraries\arm\debug\jars\8000\1f\classes-44505c402b1b3aca59892e402ff918e0e2aeaf13.jar' is not supported anymore. Library version: 3.3 - Current version: 3.5 - Minimum compatible version: 3.5
所以它希望我更新到 3.5,一旦我这样做,我就会收到以下错误,说我需要恢复到 3.3
Error:(1, 1) A problem occurred evaluating project ':mobile'.
> Failed to apply plugin [class 'com.android.build.gradle.model.AndroidComponentModelPlugin']
> Gradle version 3.3 is required. Current version is 3.5. If using the gradle wrapper, try editing the distributionUrl in D:\MyApp\gradle\wrapper\gradle-wrapper.properties to gradle-3.3-all.zip
我假设我的 3.3 错误是因为我使用的是实验性 Gradle 0.9.2。但是一旦我使用除此之外的任何东西,由于其他错误列表,我无法编译应用程序。我最喜欢的是“Arm 的 Null 维度。
dependencies {
classpath 'com.android.tools.build:gradle-experimental:0.9.2'
}
我的 build.gradle 版本 compileSdkVersion = 26 buildToolsVersion = '26.0.0'
defaultConfig {
applicationId = "com.mydomain.myapp"
minSdkVersion.apiLevel = 22
targetSdkVersion.apiLevel = 26
versionCode = 1
versionName = "1.0"
//Added for test
testInstrumentationRunner = "android.support.test.runner.AndroidJUnitRunner"
setProperty("archivesBaseName", "happyApp")
jackOptions {
enabled true
}
注意:我使用的是 Gradle 的实验版本,因为我的应用程序使用 NDK。