Android Studio 2.1.3 中的 Retrolambda 3.3:配置项目“:app”时出错
Retrolambda 3.3 in Android Studio 2.1.3: error configuring project ':app'
我在 Android Studio 2.1.3 (Windows 7) 中配置了我的项目 (Module:app)
(插件 classpath 'com.android.tools.build:gradle:2.1.3'
)
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
mavenCentral()
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
classpath 'me.tatarka:gradle-retrolambda:3.3.1'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
apply plugin: 'me.tatarka.retrolambda'
retrolambda {
jdk System.getenv("JAVA8_HOME")
oldJdk System.getenv("JAVA7_HOME")
javaVersion JavaVersion.VERSION_1_7
}
android {
compileSdkVersion 23
buildToolsVersion '24.0.2'
defaultConfig {
applicationId "com.enterprise"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
signingConfig signingConfigs.config
jackOptions {
enabled true
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
....
我得到了
Error:A problem occurred configuring project ':app'.
我使用 Facebook 和 Twitter (fabric) 依赖项。
我删除了 apply plugin: 'me.tatarka.retrolambda'
,它运行正常,但没有 retrolambda。
我试过了:
-
- 我删除了 Facebook。同样的问题。
- 我加了
classpath 'com.android.tools.build:gradle-experimental:0.7.3'
- https://github.com/evant/gradle-retrolambda/issues/17
我在 IDE 日志中得到了这个
Caused by: org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':app'.
at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:79)
at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:74)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:61)
.....
Caused by: java.lang.NullPointerException
at me.tatarka.RetrolambdaPluginAndroid.configureCompileJavaTask(RetrolambdaPluginAndroid.groovy:74)
at me.tatarka.RetrolambdaPluginAndroid.access(RetrolambdaPluginAndroid.groovy)
at me.tatarka.RetrolambdaPluginAndroid$_apply_closure5.doCall(RetrolambdaPluginAndroid.groovy:64)
at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:67)
at org.gradle.listener.ActionBroadcast.execute(ActionBroadcast.java:39)
at org.gradle.api.internal.DefaultDomainObjectCollection.doAdd(DefaultDomainObjectCollection.java:165)
我遇到了同样的问题,请将 Retrolambda 更新到版本 3.5.0。
在您的根目录 build.gradle 中输入:
buildscript {
repositories {
...
mavenCentral()
}
dependencies {
...
classpath "com.android.tools.build:gradle:2.2.3"
classpath 'me.tatarka:gradle-retrolambda:3.5.0'
}
}
//At the end of the file place this:
apply plugin: 'me.tatarka.retrolambda'
在您的模块应用程序 build.gradle 中输入:
apply plugin: 'com.android.application'
android {
...
defaultConfig {
...
jackOptions {
enabled true
jackInProcess false
}
}
}
compileOptions {
targetCompatibility JavaVersion.VERSION_1_8
sourceCompatibility JavaVersion.VERSION_1_8
incremental false
}
//it needs to translate the Java 8 code we write in the Java 7/ Java 6 bytecode Android understands:
retrolambda {
jdk System.getenv('JAVA8_HOME')
oldJdk System.getenv('JAVA7_HOME')
jvmArgs '-arg1', '-arg2'
defaultMethods false
incremental true
}
可以使用this utility查询Java安装,要求我们提交的版本路径作为入参。
我在 Android Studio 2.1.3 (Windows 7) 中配置了我的项目 (Module:app)
(插件 classpath 'com.android.tools.build:gradle:2.1.3'
)
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
mavenCentral()
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
classpath 'me.tatarka:gradle-retrolambda:3.3.1'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
apply plugin: 'me.tatarka.retrolambda'
retrolambda {
jdk System.getenv("JAVA8_HOME")
oldJdk System.getenv("JAVA7_HOME")
javaVersion JavaVersion.VERSION_1_7
}
android {
compileSdkVersion 23
buildToolsVersion '24.0.2'
defaultConfig {
applicationId "com.enterprise"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
signingConfig signingConfigs.config
jackOptions {
enabled true
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
....
我得到了
Error:A problem occurred configuring project ':app'.
我使用 Facebook 和 Twitter (fabric) 依赖项。
我删除了 apply plugin: 'me.tatarka.retrolambda'
,它运行正常,但没有 retrolambda。
我试过了:
-
- 我删除了 Facebook。同样的问题。
- 我加了
classpath 'com.android.tools.build:gradle-experimental:0.7.3'
- 我加了
- https://github.com/evant/gradle-retrolambda/issues/17
我在 IDE 日志中得到了这个
Caused by: org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':app'.
at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:79)
at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:74)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:61)
.....
Caused by: java.lang.NullPointerException
at me.tatarka.RetrolambdaPluginAndroid.configureCompileJavaTask(RetrolambdaPluginAndroid.groovy:74)
at me.tatarka.RetrolambdaPluginAndroid.access(RetrolambdaPluginAndroid.groovy)
at me.tatarka.RetrolambdaPluginAndroid$_apply_closure5.doCall(RetrolambdaPluginAndroid.groovy:64)
at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:67)
at org.gradle.listener.ActionBroadcast.execute(ActionBroadcast.java:39)
at org.gradle.api.internal.DefaultDomainObjectCollection.doAdd(DefaultDomainObjectCollection.java:165)
我遇到了同样的问题,请将 Retrolambda 更新到版本 3.5.0。
在您的根目录 build.gradle 中输入:
buildscript {
repositories {
...
mavenCentral()
}
dependencies {
...
classpath "com.android.tools.build:gradle:2.2.3"
classpath 'me.tatarka:gradle-retrolambda:3.5.0'
}
}
//At the end of the file place this:
apply plugin: 'me.tatarka.retrolambda'
在您的模块应用程序 build.gradle 中输入:
apply plugin: 'com.android.application'
android {
...
defaultConfig {
...
jackOptions {
enabled true
jackInProcess false
}
}
}
compileOptions {
targetCompatibility JavaVersion.VERSION_1_8
sourceCompatibility JavaVersion.VERSION_1_8
incremental false
}
//it needs to translate the Java 8 code we write in the Java 7/ Java 6 bytecode Android understands:
retrolambda {
jdk System.getenv('JAVA8_HOME')
oldJdk System.getenv('JAVA7_HOME')
jvmArgs '-arg1', '-arg2'
defaultMethods false
incremental true
}
可以使用this utility查询Java安装,要求我们提交的版本路径作为入参。