No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi

Viewed 32686

I was working on a Flutter project and everything was working fine until I updated My Android Studio and some of the SDK tools. Then when I was trying to run my project, I was getting the Error below:

FAILURE: Build failed with an exception.

*   What went wrong:
Execution failed for task ':app:stripDebugDebugSymbols'.

> No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi

*   Try:
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.

*   Get more help at [https://help.gradle.org](https://help.gradle.org)

BUILD FAILED in 1m 4s
Exception: Gradle task assembleDebug failed with exit code 1

So what have gone wrong? What should I do?

8 Answers

The main reason is that NDK 23 has different toolchain than the previous versions of NDK (22-), so the old version of AGP (Android Gradle Plugin) has not idea where to find the executables for different ABIs.

For me, simply update the AGP version in the build.gradle in your Android project root to 4.0+, such as

    dependencies {
        classpath "com.android.tools.build:gradle:4.0.1"
        ...

This will resolve the problem.

Note: You will need to set the environment variable ANDROID_NDK_HOME to your NDK 22- location, even Google's document does not require that or says it is deprecated.

If you want to stick to the current version of AGP, there is another work around, simply add this

android {
    android.ndkVersion "21.4.7075529" // (or whichever NDK 22- version you have installed)
    ...

to your module's build.gradle (not the build.gradle of your project)

Some other ways to work around this can be found here, Configure the NDK for the Android Gradle plugin

Well I solved the issue in 2 different ways:

A. I downgraded my NDK from version 23.0.7123448 to 22.0.7026061 by simple steps below:

1.Open SDK Manager from tool bar of android studio or from settings menu (File --> Settings --> Appearance and Behavior --> System Settings --> Android SDK).

enter image description here

  1. Select the SDK Tools tab and from the Bottom Right of the window check the Show package details. Then simply uncheck any version you want to delete and select Apply.

enter image description here

(For me removing version 23.0.7123448 and get to 22.0.7026061 solved the problem. But if you are still having the Error above try to lower the NDK version. The most stable NDK version is 20.1.5948944)

  1. If you have done all the steps before, you will see the following window popping up. Hit OK and you are all set.

enter image description here

B. This approach might look simple but yet it does the trick. Simply create a new Flutter project and get all you work (lib folder, assets, etc) to the new project.


Environment

OS : Big Sur 11.1
npm 7.24.0
node v14.15.5
react-native-cli: 2.0.1
react-native: 0.63.4

Command

react-native run-android

Error

*What went wrong:

Execution failed for task ':app:stripDebugDebugSymbols'.

No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi


Fix

Checking Android SDK Tools, NDK (side-by-side):
In the android toolbar go to:
Tools >> SDK Manager
![Tools-SDK][1]

Then in the popup aside navigation go to:
Appearance & Behavior >> System Settings >> Android SDK
Android SDK

Click “SDK Tools”
SDK Tools

Check the box next to show package details
Show Package Details

Solution: Downgrade
Downgrade


References

Idea for downgrade: Taba's solution

Here's what worked for me I updated AGP to 4.1+ in my Android Project root build.gradle

dependencies {
    classpath "com.android.tools.build:gradle:4.1.0"
    ...

AGP 4.1+ supports only gradle version gradle-6.5 above so I updated the distributionUrl in gradle-wrapper.properties file located in gradle/wrapper folder

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

Get more info here

what worked for me was

  • I change my Gradle dependencies from 3.5.1 to 4.0.1
dependencies {
        classpath 'com.android.tools.build:gradle:4.0.1'
    } 

which is under build.gradle

  • The minimum Gradle support for Gradle dependencies(gradle:4.0.1) is gradle-6.1.1

if your gradle version for the project is below that you will have to change it by downloading a higher version or if you have it and you're using a wrapper, you will have to change the distribution to the one higher or same as the 6.1.1 version. which is under >gradle >wrapple >gradle-wrapple.properties

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
  • You might most likely need to add to your NDK for Gradle-6.7 the supported NDK is NDK(side by side) version 21.0.6113669 which is under >tools >sdk manager(android SDK) >sdk tools >ndk side by side click show package details click and download the appropriate one for you

I clean all SDK folders in c:\Users\User\AppData\Local\Android\Sdk\ndk\

Recent AppCenter android dependencies changes caused my android builds to fail with this error:

No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi

Our solution was to upgrade the gradle version from 3.5.4 to 4.0.1 in the root build.gradle file:

dependencies {
        classpath 'com.android.tools.build:gradle:4.0.1'
Related