5

Gradle に切り替えることなく、Android アプリを Android Studio に移動しました。今度は Gradle に移行したいと思います。アプリは Gradle に切り替える前に Android Studio でコンパイルされますが、Gradle をすべてセットアップしたので、String Switch ステートメントまたはダイヤモンド演算子をコンパイルしません。私が得ているエラーは

Gradle: error: strings in switch are not supported in -source 1.6
(use -source 7 or higher to enable strings in switch)

印刷して、JRE 7で実行していることを確認しました

System.getProperty("java.version")

タスクで。出力は

1.7.0_25

私を最も混乱させるのは、「-source 1.6」と「use -source 7」の不一致です。しかし、これらは両方ともJava SDKの名前であることを知っているので、タイトルが混同されているだけかもしれません.

設定する必要がある Gradle 設定はありますか? またはこれはGradleでは不可能ですか? そうでない場合は、Gradle なしで動作する理由がわかりにくいです。

私のプロジェクトのGradleバージョンなしでは、デフォルトのAndroid Studioビルドが実行されることに注意してください。それを構築するためのantスクリプトまたはmavenスクリプトを作成しませんでした。それらの 1 つはビルド方法にある可能性がありますが、プロジェクト固有のファイルはありません。Android Studio .iml ファイルのみ。

更新 build.gradle android{} セクションに以下を追加しようとしました

compileOptions {
   sourceCompatibility = org.gradle.api.JavaVersion.VERSION_1_7
   targetCompatibility = org.gradle.api.JavaVersion.VERSION_1_7
}

しかし、.class ファイルのビルドに失敗し、apk に含まれていませんでした。この投稿の「Android プロジェクトには Java 1.6 でコンパイルされたライブラリが必要」セクションを参照してください。

4

1 に答える 1