2017-04-15 6 views
0

mainメソッドを含む通常のJavaクラスを実行することができました。 これは私の既存のAndroidプロジェクトに通常のJAVAモジュールが追加されているためです。このJavaのモジュールでAndroidStudioとJavaの通常のJavaプロジェクトを使用しています。

apply plugin: 'java' 

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

sourceCompatibility = "1.8" 
targetCompatibility = "1.8" 

私はアプリを維持するために、いくつかのプロセスがあります:私のモジュールの build.gradleは、次のようになります。したがって、これはアプリケーション自体で使用されるコードではありません。

私はモジュールでJAVA 8互換のコードを使いたいので、lamba式を使うことができます。

ストリームにforeachを使用しようとすると、エラーメッセージ「Call requires API level 24 (current min is 1)」が表示されます。

Androidアプリケーションとは別にJavaモジュールを設定する方法については、Javaコードでラムダ式を使用することができますか?

答えて

1

so I can use lambda expressions in my java code

どれminSdkVersionはラムダをサポート

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

感謝が必要です。 "エラー:ジャックはJava 8言語機能をサポートする必要があります。ジャックを有効にするか、sourceCompatibility JavaVersion.VERSION_1_8を削除してください。" jackOptionsを有効にすると、ビルド時に複数のエラーが発生します。どんな助け? –

+0

あなたは '2.4.0-alpha4(またはそれ以上)'を使用していません –

+0

そのリンクを読んでください... ***ジャックはもはや必要ではありません、そしてあなたはまずジャック*** –

関連する問題