Skip to content

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インストールを自動検出し最適な設定を適用します。

groovy
android {
    compileOptions {
        // 次の2行はツールチェーンで自動設定されるため省略可
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }
}

// この設定を追加
java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(17)
    }
}
kotlin
android {
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_17
        targetCompatibility = JavaVersion.VERSION_17
    }
}

// 追加設定
java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(17)
    }
}

メリット:

  • 手動設定よりも将来的な互換性が高い
  • チームメンバーのJDK環境差異を吸収
  • Android公式ドキュメント推奨方法

解決策2: 手動互換性設定

既存のbuild.gradleを直接編集する方法です。

groovy
android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17 // 17に更新
        targetCompatibility JavaVersion.VERSION_17 // 17に更新
    }
    kotlinOptions {
        jvmTarget = "17" // Kotlin向けに追加
    }
}

必須対応:環境整備

1. JDK 17のインストール

  1. Oracle JDK 17 をダウンロード
  2. Android Studioで設定:
    File > Project Structure > SDK Location
    → JDK locationで新規JDKを指定

2. Gradleアップデート

gradle-wrapper.propertiesで最新版を指定(例):

properties
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip

適用後の確認手順

  1. キャッシュクリア:
    File > Invalidate Caches / RestartInvalidate and Restart
  2. クリーンビルド:
    bash
    ./gradlew clean build

注意点

  • JDK 17未インストールで設定変更するとビルドエラーが発生
  • Android Gradle PluginとJDKバージョンの互換性確認が必要
    (例)AGP 8.3+ にはJDK 17必須

補足:応急処置(非推奨)

警告だけ抑制する方法(根本解決になりません):

bash
# gradle.propertiesに追加
android.suppressUnsupportedCompileSdk=8

推奨しない理由

  • 将来的なビルド失敗リスクが残る
  • 新しいJava機能が利用できない
  • Android Studioのパフォーマンス最適化対象外となる

以上で警告は解消されます。2025年現在、Android開発ではJDK 17対応が事実上の標準です。ツールチェーン採用で今後のバージョンアップにも柔軟に対応できます。