В папке 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).

  1. Выберите вкладку « Инструменты SDK » и в правом нижнем углу окна установите флажок « Показать сведения о пакете» . Затем просто снимите отметку с той версии, которую хотите удалить, и выберите « Применить» .

(Для меня удаление версии 23.0.7123448 и добраться до 22.0.7026061решил проблему. Но если вы все еще имеющие ошибки выше , пытаются понизить в NDK версии. Самая стабильная версия NDK - 20.1.5948944)

  1. Если вы выполнили все шаги ранее, вы увидите следующее всплывающее окно. Нажмите ОК, и все готово.

Б. Этот подход может показаться простым, но все же он помогает. Просто создайте новый проект 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.

Установите флажок рядом с отображением сведений о пакете
сведения о Показатьпакете

Решение: переход на более
раннюю версию

Справка:
Идея для понижения рейтинга: Taba «S решение

Вот что у меня сработало. Я обновил 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- проверьте этот ответ

/questions/58937735/flutter-v-papke-ndk-toolchains-dlya-abi-ne-najdenyi-tsepochki-instrumentov/58946754#58946754

Другие вопросы по тегам