build.gradle config:
apply plugin: 'com.android.application'
apply plugin: 'realm-android'
//apply plugin: 'android-apt'
android {
compileSdkVersion 25
buildToolsVersion "25.0.0"
defaultConfig {
applicationId "com.way.event"
minSdkVersion 21
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.0.0'
compile 'com.android.support:design:25.0.0'
compile 'com.android.support:support-v4:25.0.0'
testCompile 'junit:junit:4.12'
}
它不支持Java8:
错误:无法获取未知属性' classpath'为了任务 ':应用程序:transformJackWithJackForDebug'类型 com.android.build.gradle.internal.pipeline.TransformTask。
它与领域有什么关系?如何解决?
答案 0 :(得分:3)
嗯,你仍然可以使用Retrolambda代替Jack,没有人阻止你使用lambdas。
buildscript {
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
classpath "io.realm:realm-gradle-plugin:1.2.0"
classpath 'me.tatarka:gradle-retrolambda:3.2.5'
}
}
和
apply plugin: 'com.android.application'
apply plugin: 'com.neenbedankt.android-apt'
apply plugin: 'me.tatarka.retrolambda'
apply plugin: 'realm-android'
android {
compileSdkVersion xx
buildToolsVersion "xx"
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
适用于Java 8语言功能(lambdas,方法引用,try-with-resources)。
答案 1 :(得分:0)
感谢@ cricket_007
GitHub用户@kirsting,他告诉我他可以提供这个问题的解决方案。请查看下面对此问题的评论:
答案 2 :(得分:0)
删除以前依赖的lambda库,因为在3.0之后,AS本身支持lambda。
Apply plugin: 'me.tatarka.retrolambda' //Remove this sentence