В папке NDK toolchains для ABI не найдено цепочек инструментов с префиксом: arm-linux-androidabi
Я работал над проектом Flutter, и все работало нормально, пока я не обновил свою Android Studio и некоторые инструменты SDK . Затем, когда я пытался запустить свой проект, я получал следующую ошибку:
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
Так что же пошло не так? Что я должен делать?
11 ответов
Основная причина заключается в том, что NDK 23 имеет другую структуру папок, чем предыдущие версии NDK (22-), поэтому старая версия AGP (Android Gradle Plugin) не знает, где найти исполняемые файлы для разных ABI.
Для меня просто обновите версию AGP в корне вашего Android-проекта до 4.0+, например
dependencies {
classpath "com.android.tools.build:gradle:4.0.1"
...
Это решит проблему.
Если вы хотите использовать текущую версию AGP, есть еще одно решение, просто добавьте это
android {
android.ndkVersion "21.4.7075529" (or whichever NDK 22- version you have installed)
...
к вашему модулю (не
build.gradle
вашего проекта)
Я решил проблему двумя способами:
A. Я понизил версию своего NDK до версии, выполнив следующие простые шаги:
1. Откройте SDK Manager из панели инструментов студии Android или из меню настроек (Файл -> Настройки -> Внешний вид и поведение -> Системные настройки -> Android SDK).
- Выберите вкладку « Инструменты SDK » и в правом нижнем углу окна установите флажок « Показать сведения о пакете» . Затем просто снимите отметку с той версии, которую хотите удалить, и выберите « Применить» .
(Для меня удаление версии
23.0.7123448
и добраться до
22.0.7026061
решил проблему. Но если вы все еще имеющие ошибки выше , пытаются понизить в NDK версии. Самая стабильная версия NDK -
20.1.5948944
)
- Если вы выполнили все шаги ранее, вы увидите следующее всплывающее окно. Нажмите ОК, и все готово.
Б. Этот подход может показаться простым, но все же он помогает. Просто создайте новый проект Flutter и перенесите всю свою работу (папку lib, ресурсы и т. Д.) В новый проект.
Пожалуйста, смотрите изображения в качестве справки. Это мой первый пост, поэтому они не отображаются в ответе.
Окружающая среда
ОС: Big Sur 11.1
npm 7.24.0
node v14.15.5 response
-native-cli: 2.0.1
react-native: 0.63.4
Команда: react -native run-android
Ошибка: * Что пошло не так:
не удалось выполнить задачу ': app: stripDebugDebugSymbols'.
В папке NDK toolchains для ABI не найдено цепочек инструментов с префиксом: arm-linux-androidabi
Проверка инструментов Android SDK, NDK (параллельно):
на панели инструментов Android перейдите в:
Инструменты >> диспетчера
ИнструментыSDK-SDK
Затем во всплывающем окне навигации перейдите к:
Внешний вид и поведение >> Системные настройки >> Android SDK
Android SDK 
Нажмите «Инструменты
SDK» Инструменты SDK.
Установите флажок рядом с отображением сведений о пакете
сведения о Показатьпакете 
Решение: переход на более
раннюю версию
Вот что у меня сработало. Я обновил AGP до версии 4.1+ в корневом каталоге Android Project build.gradle.
dependencies {
classpath "com.android.tools.build:gradle:4.1.0"
...
AGP 4.1+ поддерживает только версию gradle gradle-6.5 выше, поэтому я обновил distributionUrl в файле gradle-wrapper.properties, расположенном в папке gradle / wrapper.
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
Получите больше информации здесь
то, что сработало для меня, было
- Я меняю свои зависимости Gradle с 3.5.1 на 4.0.1
который находится под build.gradle
- Минимальная поддержка Gradle для зависимостей Gradle (gradle: 4.0.1) — gradle-6.1.1.
если ваша версия Gradle для проекта ниже, вам придется изменить ее, загрузив более высокую версию, или если она у вас есть, и вы используете обертку, вам придется изменить дистрибутив на более высокий или такой же, как 6.1 .1 версия. который находится в > 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`
- Скорее всего, вам потребуется добавить в свой NDK для Gradle-6.7 поддерживаемый NDK — это NDK(бок о бок) версии 21.0.6113669, который находится в разделе > инструменты > диспетчер SDK (Android SDK) > инструменты sdk >ndk рядом, нажмите «Показать». сведения о пакете нажмите и загрузите подходящий для вас
Я очищаю все папки SDK в
c:\Users\User\AppData\Local\Android\Sdk\ndk\
Дополнительный ответ для @gwang и @TillyJonesy:
При запуске команды Gradle с--info
(у меня AGP 3.5.4), вы увидите, что если версия NDK не указана, AGP попытается использовать самую старшую версию NDK.
И из документов руководства Android NDK, AGP <= 3.5 не имеет версии NDK по умолчанию.
См.: https://developer.android.com/studio/projects/install-ndk#default-ndk-per-agp .
Решение для нативных разработчиков Android
Перейдите в «Файл» -> «Настройки» -> «Внешний вид и поведение» -> «Системные настройки» -> «Android SDK» ->, затем выберите «Инструменты SDK» и установите флажок «Показать сведения о пакете» снизу.
в раскрывающемся списке NDK(бок о бок) отметьте 22.1.7171670 и снимите остальные, затем примените и нажмите «ОК».
Недавние изменения зависимостей Android AppCenter привели к сбою моих сборок Android с этой ошибкой:
No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi
Наше решение состояло в том, чтобы обновить версию gradle с3.5.4
к4.0.1
в корневом файле build.gradle:
dependencies {
classpath 'com.android.tools.build:gradle:4.0.1'
в моем случае моя родная версия реакции0.62.2
и версия Gradle6.1.1
поэтому я обновляю версию Gradle
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
к
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
после этого обновления (под android/build.gradle)
classpath("com.android.tools.build:gradle:3.5.2")
к
classpath('com.google.gms:google-services:4.3.3')
Если это проблема с обновлением в Android Studio- проверьте этот ответ