⛔️
GitHub Actionsで出たAndroidの"No toolchains found..."のerrorをgradle更新して解消
build error
とあるRepositoryで動いているGitHub ActionsのCIの設定を、別のRepositoryに移植して動かしたところ、build errorが発生して正常に完了できなかった。
検索してもNDK入れろとかしか出ないし、Android Studio使ってbuildした時に出るならそれで解消されるだろうが、こちとらGitHub Actions上な上、NDKを入れる処理していないRepositoryのCIで正常にbuild出来てるので的外れな感じだなものしか見つからず困ってた。
[17:00:03]: ▸ FAILURE: Build failed with an exception.
[17:00:03]: ▸ * What went wrong:
[17:00:03]: ▸ Execution failed for task ':app:stripStagingDebugDebugSymbols'.
[17:00:03]: ▸ > No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi
[17:00:03]: ▸ * Try:
[17:00:03]: ▸ Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
[17:00:03]: ▸ * Get more help at https://help.gradle.org
[17:00:03]: ▸ BUILD FAILED in 2m 52s
[17:00:04]: ▸ Running Gradle task 'assembleStagingDebug'... 172.7s
[17:00:04]: ▸ Gradle task assembleStagingDebug failed with exit code 1
解決方法
両方のRepositoryを比較した結果、以下の差分があり、そこを合わせたら解決した。
android配下のbuild.gradle
内のcom.android.tools.build:gradle
を以下のように変更
(app配下のbuild.gradle
ではありません)
android/build.gradle
buildscript {
...
dependencies {
- classpath 'com.android.tools.build:gradle:3.5.3'
+ classpath 'com.android.tools.build:gradle:4.2.1'
...
}
...
}
※4.2.1より手前のversionでも解消される可能性はありますが、手元で確認できたversionを記載しています。
併せて、gradle/gradle-wrapper.properties
のdistributionUrl
も以下のように変更
android/gradle/wrapper/gradle-wrapper.properties
...
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip
Discussion
android/build.gradleですね?
android/app/build.gradleではなく。
同名のファイルがありますので。
そうです。
わかりにくいので、追記しておきます。
ありがとうございます。