web-dev-qa-db-ja.com

Java Android studioで8つの言語機能を有効にする方法

Android Studio 2.4 Preview 4でリリースされ、サポートされるようになりました Java 8言語機能 。Jackは不要になり、改善された=を使用するにはJackを無効にする必要があります。 Java 8サポートがデフォルトのツールチェーンに組み込まれています。

次に、ジャックを無効にして、デフォルトのツールチェーンに切り替える必要があります。

Java 8つの機能をAndroidスタジオプロジェクトで使用できるようにするにはどうすればよいですか?

6
pRaNaY

有効Java 8サポート

サポートされているJava 8言語機能の使用を開始するには、Androidプラグインを2.4.0-alpha4(またはそれ以降)に更新し、以下をモジュールのbuild.gradleファイル:

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

jackOptionsを無効にする

モジュールのbuild.gradleファイルからjackOptionsブロックを削除することで、Jackを無効にしてデフォルトのツールチェーンに切り替えることができます。

Android {
    ...
    defaultConfig {
        ...
        // Remove this block.
        jackOptions {
            enabled true
        }
    }

}

注:プロジェクトでJack、Retrolambda、またはDexGuardを使用している場合、AndroidスタジオのデフォルトではJavaこれらのツールによって提供される8つのサポート。

無効Java 8サポート:

Java 8.に関連する問題が発生した場合に備えて、プロジェクトのJava 8機能を無効にすることもできます。8。gradle.propertiesファイルを追加して更新できます。無効にする行の下Java 8つの機能:

Android.enableDesugar=false

Java 8つの機能の詳細については、 Java 8つの言語機能を使用 を使用してください)を確認してください。

21
pRaNaY

これはすでに回答済みですが、新しいGradleとAndroidスタジオの更新後、jackOptionsは非推奨になりました。

 Android {
      .....

        defaultConfig {
        ..........
            //remove jackOptions and add
            Android.compileOptions.sourceCompatibility 1.8
            Android.compileOptions.targetCompatibility 1.8

        }
        // Keep the following configuration in order to target Java 8.
         compileOptions {

           sourceCompatibility JavaVersion.VERSION_1_8
           targetCompatibility JavaVersion.VERSION_1_8
       }
  }
4
Bishoy Abd

簡単なプロセス-

Right click on Project > Open Module Setting (F4) > Modules (app) >

選択する -

Source Compatibility - 1.8
Target Compatibility - 1.8
2
Paresh P.
Android {
  ...
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

同じモジュールgradleでjackOptionを有効にします

 defaultConfig {
            jackOptions {
            enabled true
        }
    }

Android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "****************"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
        jackOptions {
            enabled true
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }


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

0
Neeraj Singh

明確な答え-

アプリレベルに以下を追加するだけですbuild.gradleおよびSync

Android {
  ...
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}
0
Khemraj