2017-04-15 52 views
0

我设法执行一个普通的Java类,其中包含一个主要方法。 为此,我将一个普通的JAVA模块添加到我现有的Android项目中。 我模块的build.gradle看起来是这样的:在AndroidStudio和JAVA中使用普通Java项目8

apply plugin: 'java' 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
} 

sourceCompatibility = "1.8" 
targetCompatibility = "1.8" 

在这个Java模块我都会有一些流程,以保持应用程序。所以这不是应用程序本身使用的代码。现在

我想我的模块中使用JAVA 8兼容的代码,这样我就可以使用兰巴表达式。

我收到错误消息:Call requires API level 24 (current min is 1),想在我流使用的foreach的时候。

任何帮助,我怎么可以从Android应用程序独立配置Java模块,这样我就可以在我的Java代码中使用lambda表达式?

回答

1

so I can use lambda expressions in my java code

任何minSdkVersion支持lambda表达式

To start using supported Java 8 language features, update the Android plugin to 2.4.0-alpha4 (or higher) and add the following to your module’s build.gradle file:

android { 
    ... 
    compileOptions { 
    sourceCompatibility JavaVersion.VERSION_1_8 
    targetCompatibility JavaVersion.VERSION_1_8 
    } 
} 

java.util.stream需要API级别24或更高

https://developer.android.com/studio/preview/features/java8-support.html

+0

感谢您的帮助。我收到一个错误“错误:Jack需要支持Java 8语言功能,请启用插件或删除sourceCompatibility JavaVersion.VERSION_1_8。”。启用jackOptions时,构建时会出现多个错误。任何帮助? –

+0

你没有使用'2.4.0-的α4(或更高版本)' –

+0

阅读链接... ***不再需要杰克,你应该先禁用杰克*** –