Unity Editor は特定のバージョンの Gradle にバージョンロックされているため、Google Mobile Ads などの新しい Android パッケージで必要な依存関係と競合する可能性があります。次のガイドでは、以前のバージョンの Unity エディタで Android ビルドを作成する方法について説明します。
次の表に、Unity Editor に基づいて使用できる Google モバイル広告プラグインの最大互換バージョンを示します。
Unity エディタ | 推奨される Google Mobile Ads Unity プラグインのバージョン |
---|---|
2023.1 以降 | 最新 |
2021.3.41f1 - 2022.3 | 9.1.0 |
2021.3.37f1 以前 | 8.5.3 |
前提条件
- Android Studio の最新の安定版をダウンロードしてインストールします。
- Android 向けのビルドについて詳しくは、Android ビルドの Java バージョンをご覧ください。
2022.3 以前のビルド設定を更新する
Unity 2022.3 以前では、Android Studio にエクスポートする前にビルド設定を変更する必要があります。
baseProjectTemplate.gradle を生成する
カスタム Gradle テンプレートを有効にします。[Project Settings] > [Player] > [Android] > [Publishing Settings] > [Build] に移動し、[Custom Base Gradle Template] を選択します。これにより、
Plugins/Android/baseProjectTemplate.gradle
ファイルが生成されます。Gradle ツールのバージョン 8.1.1 以降を使用するように
Plugins/Android/baseProjectTemplate.gradle
ファイルを変更します。plugins { id 'com.android.application' version '8.1.1' apply false id 'com.android.library' version '8.1.1' apply false } task clean(type: Delete) { delete rootProject.buildDir }
Unity 2021.3.37f1 以前のその他の変更
Unity 2021.3.37f1 以前では、互換性を Gradle 8.1.1 にアップグレードするために追加の変更が必要です。次の手順を行います。
launcherTemplate.gradle を生成する
[Project Settings] > [Player] > [Android] > [Publishing Settings] > [Build] に移動し、[Launcher Gradle Template] を選択します。これにより、
Plugins/Android/launcherTemplate.gradle
ファイルが生成されます。Plugins/Android/launcherTemplate.gradle
を変更して、Namespace 属性を含めます。namespace 属性の値は、ランチャー モジュールのAndroidManifest.xml
ファイルにある package 属性と一致している必要があります。android { // TODO: Replace with your app's package name. namespace 'com.google.android.gms.example' }
mainTemplate.gradle を生成する
- [Project Settings] > [Player] > [Android] > [Publishing Settings] > [Build] に移動し、[Main Gradle Template] を選択します。これにより、
Plugins/Android/mainTemplate.gradle
ファイルが生成されます。
.
値
com.unity3d.player
の Namespace 属性を含むようにPlugins/Android/mainTemplate.gradle
を変更します。android { namespace 'com.unity3d.player' }
Android Studio にエクスポートする
Android ビルド設定を変更して、Unity プロジェクトをエクスポートします。
Android Studio にエクスポートするには、Android ビルド設定を変更します。[File](macOS の場合は [Unity Editor])> [Build Settings] を選択し、[Export Project] をオンにします。
[Build Settings] ダイアログの下部にある [Export] ボタンをクリックします。Unity は、選択した場所に Android プロジェクトを生成します。
エクスポートしたプロジェクトを Android Studio で開きます。
JDK 17 を使用するように Gradle JDK 構成を更新する
- Android Studio を使用して、[File](macOS では [Android Studio])> [Settings] > [Build, Execution, Deployment] > [Build Tools] > [Gradle] で Gradle 設定を開きます。
[Gradle JDK] プルダウンを見つけます。JDK 17 を使用するように Gradle JDK を変更します。
JDK 17 がインストールされていない場合は、Gradle JDK プルダウン メニューから [JDK をダウンロード] オプションを選択し、互換性のあるバージョンをダウンロードします。Android Studio が配布するものと一致するように、
arch64
をサポートする JetBrains ランタイム ベンダーを使用することをおすすめします。
Gradle ラッパー ファイルを更新する
gradle/wrapper/gradle-wrapper.properties
内の distributionUrl パラメータを変更して、Gradle 8.0.1 以降を使用します。
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.1-bin.zip
Unity 2021.3.37f1 以前の Android Studio のその他の変更
Unity 2021.3.37f1 以前では、Gradle 8.1.1 との互換性をアップグレードするために追加の変更が必要です。次の手順を行います。
gradle.properties
を変更し、android.enableR8=false
属性を削除します。unityLibrary/GoogleMobileAdsPlugin.androidlib/build.gradle
を変更し、値が"com.google.unity.ads"
の名前空間属性を追加します。apply plugin: 'android-library' dependencies { implementation fileTree(dir: 'bin', include: ['*.jar']) implementation fileTree(dir: 'libs', include: ['*.jar']) } android { namespace "com.google.unity.ads" sourceSets { main { manifest.srcFile 'AndroidManifest.xml' //java.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] jniLibs.srcDirs = ['libs'] } } compileSdkVersion 35 buildToolsVersion '30.0.3' defaultConfig { targetSdkVersion 31 } lintOptions { abortOnError false } }
Android プロジェクトを実行する
これらの手順が完了すると、Unity アプリケーションの準備が整います。Android Studio で Gradle 同期を実行し、プロジェクトを実行します。