Android Studio 内で空のプロジェクトを作成し、単独でコンパイルして完璧に動作する純粋な Java モジュールを含めると、そのモジュール内のすべてのクラスで次のエラーが発生します。
Error:PARSE ERROR: Error:unsupported class file version 52.0
組み込み JDK と、システムにインストールされている JDK 8 (1.8.0_91) を使用してプロジェクトを実行してみましたが、結果は同じでした。
注意してください。モジュールをライブラリとして含めるのではなく.jar
、次の命令でインポートされるソース コードです。
include ':app', ':my-module'
project(':my-module').projectDir = new File(settingsDir, '../my-module-java')
ベストアンサー1
わかりました。エラーは、モジュール自体に互換性オプションを指定しなかったために発生しました。つまり、JDK 8 をインストールして使用していて、Android プロジェクトが Java 1.7 (Android SDK 23 以前ではデフォルト) を使用しており、Java 1.7 を使用するように指定されていないモジュールが含まれている場合、そのモジュールは Java 1.8 構文を使用して JDK 8 でコンパイルされますが、互換性がなく、Java 1.7 を使用するコンパイラは Java 1.8 をターゲットとしバージョン 52 のクラス ファイルを解析できないため、エラーが発生します。
ビルド - このビルドファイルはモジュールレベル用です
apply plugin: 'java'
buildscript {
tasks.withType(JavaCompile) {
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
// Your libraries here
}