Android Studioでのソースバージョン8廃止警告の解決方法
Androidプロジェクトで以下警告が発生する場合:source value 8 is obsolete and will be removed in a future release
これはプロジェクトのJava互換性設定が古いJDKバージョンを参照していることが原因です。本記事では根本的解決法を解説します。
背景
警告はsourceCompatibility
/targetCompatibility
がJava 8(バージョン1.8)に設定されている際に発生。Android Gradleプラグイン7.0以降ではJava 11以上が推奨されます。
解決策1: Javaツールチェーンで自動設定(推奨)
build.gradle
に以下を追加すると、JDKインストールを自動検出し最適な設定を適用します。
android {
compileOptions {
// 次の2行はツールチェーンで自動設定されるため省略可
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
}
// この設定を追加
java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
}
}
android {
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
}
// 追加設定
java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
}
}
メリット:
- 手動設定よりも将来的な互換性が高い
- チームメンバーのJDK環境差異を吸収
- Android公式ドキュメント推奨方法
解決策2: 手動互換性設定
既存のbuild.gradle
を直接編集する方法です。
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_17 // 17に更新
targetCompatibility JavaVersion.VERSION_17 // 17に更新
}
kotlinOptions {
jvmTarget = "17" // Kotlin向けに追加
}
}
必須対応:環境整備
1. JDK 17のインストール
- Oracle JDK 17 をダウンロード
- Android Studioで設定:
File > Project Structure > SDK Location
→ JDK locationで新規JDKを指定
2. Gradleアップデート
gradle-wrapper.properties
で最新版を指定(例):
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip
適用後の確認手順
- キャッシュクリア:
File > Invalidate Caches / Restart → Invalidate and Restart - クリーンビルド:bash
./gradlew clean build
注意点
- JDK 17未インストールで設定変更するとビルドエラーが発生
- Android Gradle PluginとJDKバージョンの互換性確認が必要
(例)AGP 8.3+ にはJDK 17必須
補足:応急処置(非推奨)
警告だけ抑制する方法(根本解決になりません):
# gradle.propertiesに追加
android.suppressUnsupportedCompileSdk=8
推奨しない理由:
- 将来的なビルド失敗リスクが残る
- 新しいJava機能が利用できない
- Android Studioのパフォーマンス最適化対象外となる
以上で警告は解消されます。2025年現在、Android開発ではJDK 17対応が事実上の標準です。ツールチェーン採用で今後のバージョンアップにも柔軟に対応できます。