2016-10-26 58 views
3

我配置我的项目:Android Studio中2.1.3(应用模块)(Windows 7)中 (插件classpath 'com.android.tools.build:gradle:2.1.3'Retrolambda 3.3 Android Studio中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(结构)依赖关系。

我删除了apply plugin: 'me.tatarka.retrolambda',它运行正常,但没有retrolambda。

我想:

我在IDE日志

得到这个
+0

等待答案,我决定使用https://github.com/aNNiMON/Lightweight-Stream-API (https://medium.com/@nicopasso/java-8-stream-on-android- c629e4237d5f#.oe6avr5fx) – BillyGL

+0

同样的麻烦。我试图使用retrolambda但得到了相同的结果。没有插件,它编译得很好。 –

回答

2

我有同样的问题,更新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安装,要求我们提交的版本的路径作为输入参数。