Android API 24源代码中的编译器错误

时间:2016-08-31 02:15:31

标签: android

下载并安装API 24源代码后,我发现在API 24中有更改的类中存在大量编译器错误。

例如,AccessibilityService类在变量,方法,导入等方面有数百个“无法解析符号”错误。

我多次尝试删除和重新下载源无济于事。这是一个新的一组来源是常见的事情,还是我做错了什么?

编辑:

这是我的应用Gradle文件,我正在使用'com.android.tools.build:gradle:2.1.0'     apply plugin:'com.android.application'

android {
compileSdkVersion 24
buildToolsVersion "23.0.2"

defaultConfig {
    applicationId "com.nyelito.dactyl"
    minSdkVersion 23
    targetSdkVersion 24
    versionCode 10
    versionName "1.2.2"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile(
        [group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: '2.4.1'],
)
provided 'org.glassfish:javax.annotation:10.0-b28'
compile('com.mikepenz:aboutlibraries:5.6.7@aar') {
    transitive = true
}


compile 'com.android.support:appcompat-v7:24.0.0'
compile 'com.android.support:support-v4:24.0.0'
compile 'com.github.medyo:android-about-page:1.0.5'
compile 'com.github.thepacific:adapter:1.0.5'
compile 'com.google.firebase:firebase-database:9.0.2'
compile 'com.google.firebase:firebase-messaging:9.0.2'
compile 'com.google.code.gson:gson:2.2.4'
compile 'com.github.paolorotolo:appintro:4.0.0'
}

apply plugin: 'com.google.gms.google-services'

Here is a screenshot of what it looks like

2 个答案:

答案 0 :(得分:0)

当您更改compileSdkVersion时,您还需要将buildToolsVersion更改为兼容的内容。在这种情况下

buildToolsVersion 24.0.2

答案 1 :(得分:0)

@ Code-Apprentice是对的,您需要更改buildToolsVersion,其主版本号与您编译的sdk版本兼容。

'android-24' requires JDK 1.8 or later to compile

https://developer.android.com/guide/platform/j8-jack.html

另外,我发现你用API 24编译,需要JDK8。请在build.gradle中添加以下内容

android {
  ...
  defaultConfig {
    ...
    jackOptions {
      enabled true
    }
  }
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}