Closed5
[Unity]Androidビルド時にgradleのバージョンを変更したらエラー
広告SDKを最新にした→
Android11に対応したSDKになった→
最新のSDKだとgradle3.4.0だと<query>タグが解釈できずエラーが起きてしまう
のような流れだったのでmainTemplate.gradleでgradleのバージョンを以下のように指定
classpath 'com.android.tools.build:gradle:3.4.3'
エラーログは↓の内容
A problem occurred evaluating project ':unityLibrary'.
> Failed to apply plugin [id 'com.android.library']
> Using multiple versions of the Android Gradle plugin in the same build is not allowed.
'/Users/**Unityプロジェクトルート**/Temp/gradleOut/unityLibrary' is using version 3.4.3
'/Users/**Unityプロジェクトルート**/Temp/gradleOut/launcher' is using version 3.4.0
プロジェクト側で指定してるgradleバージョンと、Unity側のデフォルトのgradleバージョンが食い違ってしまっているので、Unity側の方もgradle3.4.3を使うように修正する必要がある。
Unity側のgradleバージョンは下記ファイルで指定されている。
使用しているUnityのバージョンは適宜置き換えていただいて。
/Applications/Unity/Hub/Editor/2019.4.10f1/PlaybackEngines/AndroidPlayer/Tools/GradleTemplates/baseProjectTemplate.gradle
// GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN
allprojects {
buildscript {
repositories {**ARTIFACTORYREPOSITORY**
google()
jcenter()
}
dependencies {
// If you are changing the Android Gradle Plugin version, make sure it is compatible with the Gradle version preinstalled with Unity
// See which Gradle version is preinstalled with Unity here https://docs.unity3d.com/Manual/android-gradle-overview.html
// See official Gradle and Android Gradle Plugin compatibility table here https://developer.android.com/studio/releases/gradle-plugin#updating-gradle
// To specify a custom Gradle version in Unity, go do "Preferences > External Tools", uncheck "Gradle Installed with Unity (recommended)" and specify a path to a custom Gradle version
classpath 'com.android.tools.build:gradle:3.4.0'
**BUILD_SCRIPT_DEPS**
}
}
repositories {**ARTIFACTORYREPOSITORY**
google()
jcenter()
flatDir {
dirs "${project(':unityLibrary').projectDir}/libs"
}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
classpath 'com.android.tools.build:gradle:3.4.0'
の行を3.4.3に変更する。
※ここでは直接書き換えているが、↑に
// To specify a custom Gradle version in Unity, go do "Preferences > External Tools", uncheck "Gradle Installed with Unity (recommended)" and specify a path to a custom Gradle version
とあるように、Unity側で使用するGradleのパスを指定することもできる
無事ビルドできた✅
(Unityプロジェクトルート)/Temp/gradleOut/launcher/build/intermediates/merged_manifests/debug/AndroidManifest.xml:48:
AAPT: error: unexpected element <queries> found in <manifest>.
元のエラーメモ
このスクラップは2021/02/17にクローズされました