⛔️

GitHub Actionsで出たAndroidの"No toolchains found..."のerrorをgradle更新して解消

2021/10/21に公開
2

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.propertiesdistributionUrlも以下のように変更

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

shinriyoshinriyo

android/build.gradleですね?
android/app/build.gradleではなく。
同名のファイルがありますので。

aryzaearyzae

そうです。
わかりにくいので、追記しておきます。
ありがとうございます。