Я хочу скомпилировать проект Android с открытым исходным кодом (Netguard), используя gradel ( gradlew clean build
), но я столкнулся с этой ошибкой:
A problem occurred configuring project ':app'.
> Exception thrown while executing model rule: NdkComponentModelPlugin.Rules#cre
ateToolchains
> No toolchains found in the NDK toolchains folder for ABI with prefix: llvm
Я разгорячился, но не нашел ничего полезного. Вот главное build.gradle
:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle-experimental:0.6.0-alpha1'
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
А вот build.gradle
в app
проекте:
apply plugin: 'com.android.model.application'
model {
android {
compileSdkVersion = 23
buildToolsVersion = "23.0.2"
defaultConfig.with {
applicationId = "eu.faircode.netguard"
minSdkVersion.apiLevel = 21
targetSdkVersion.apiLevel = 23
versionCode = 2016011801
versionName = "0.76"
archivesBaseName = "NetGuard-v$versionName-$versionCode"
}
}
android.ndk {
moduleName = "netguard"
toolchain = "clang"
ldLibs.add("log")
}
android.sources {
main {
jni {
source {
srcDir "src/main/jni/netguard"
}
exportedHeaders {
}
}
}
}
android.buildTypes {
release {
minifyEnabled = true
proguardFiles.add(file('proguard-rules.pro'))
ndk.with {
debuggable = true
}
}
}
android.buildTypes {
debug {
ndk.with {
debuggable = true
}
}
}
android.productFlavors {
create("all") {
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.1.+'
compile 'com.android.support:recyclerview-v7:23.1.+'
compile 'com.squareup.picasso:picasso:2.5.+'
}
И я использую gradle-2.9-all
и android-ndk-r10e
. Я не знаю, стоит ли мне упоминать что-то еще, поэтому прокомментируйте, если вам нужна какая-либо информация.
Ответы:
Прошло два года, теперь, если вы столкнетесь здесь, вы можете встретить сообщение об ошибке, подобное этому:
или
В последнем NDK удалена поддержка
mips
abi, а более ранняя версия плагина Android Gradle по-прежнему проверяет наличие набора инструментов mips. смотрите здесь для получения дополнительной информации .Решение : Обновите плагин Android Gradle до версии 3.1 или новее.
например, добавить следующее в gradle уровня проекта [28-Sept-2018]
Обходной путь : Создайте
mipsel-linux-android
структуру папок, чтобы обмануть инструмент. Самым простым способом будет символическая ссылка наaarch64-linux-android-4.9
.Проверьте эту ветку из трех вариантов решения этой проблемы
источник
build.gradle
файле верхнего уровня , что-то вродеcom.android.tools.build:gradle:3.2.0-rc02
, а не версию Gradle# on Mac cd ~/Library/Android/sdk/ndk-bundle/toolchains ln -s aarch64-linux-android-4.9 mips64el-linux-android ln -s arm-linux-androideabi-4.9 mipsel-linux-android
mklink /d mips64el-linux-android aarch64-linux-android-4.9
иmklink /d mipsel-linux-android arm-linux-androideabi-4.9
у меня тоже работает.Для Android студии 3.2.1+
Обновите свой плагин Gradle
Если вы сейчас получаете эту ошибку:
просто добавьте google () в свои репозитории, например так:
Удачного кодирования - :)
источник
Я исправил эту ошибку, удалив NDK в SDK-Tools. Итак, если вам не нужен NDK, удалите его.
источник
Я столкнулся с той же проблемой при обновлении Android Studio с 2.0 до 2.1 на моем компьютере с Windows 8.
Я нашел решение для этого. Пожалуйста, используйте следующие шаги.
Это происходит потому, что студия Android не получит полное обновление NDK на стабильном канале. Если вы не используете NDK для разработки своего проекта, вы можете просто удалить папку NDK из своего каталога SDK.
источник
Error : Android MIPS ToolChain directory "" does not exist
" в Game Maker Studio 2 на Mac. Но мне нужно было получить версию 17c NDK отсюда: developer.android.com/ndk/downloads/older_releases (согласно: reddit.com/r/gamemaker/comments/9m958a/… ) Спасибо @nithinjith! ... все еще не строит, однако, необходимо решить:Android NDK: Please fix the APP_ABI definition in /Users/../Library/Android/sdk/ndk-bundle/build/core/default-application.mk
Сообщение об ошибке: «В папке наборов инструментов NDK для ABI не найдены цепочки инструментов с префиксом: llvm».
После новой веб-установки Android Studio с NDK я импортировал пример кода Android, который использовал NDK из GitHub, и попытался скомпилировать его.
В результате возникла ошибка:
Решение: по некоторым причинам в процессе стандартной установки на macOS не удалось установить полный набор:
~/Library/Android/sdk/ndk-bundle
пропустил папкуtoolchains
со всеми инструментами,(это должно быть так:
~/Library/Android/sdk/ndk-bundle/toolchains
)Решением было скачать NDK отдельно, открыть его, скопировать папку
toolchain
и вставить ее в папку:После этого у меня все получилось.
источник
Шаг за шагом:
1) Откройте страницу со старыми версиями NDK :
https://developer.android.com/ndk/downloads/older_releases
2) Согласитесь с условиями:
3) Загрузите старую версию
NDK
(например, 16b):4) Откройте свой
toolchains
каталог.5) Перенесите нужные файлы из
toolchains
папки загруженного zip-файла в вашуtoolchains
папку:6) Перестройте проект:
UPD 30 сентября 2018:
я использовал Android NDK Revision r16b для исправления этой ошибки в моем собственном случае. Итак, я представляю пример с этой версией.
Но лучше использовать Android NDK, Revision r17c (июнь 2018 года). Это последний, поддерживающий mips (разумный рекомендация из комментария Weekend).
источник
(for example 16b)
этого лучше уточнить, какая версия NDK является последней, поддерживающей mips. в примечании к выпуску Android NDK Revision r17c (июнь 2018 г.) : поддержка ARMv5 (armeabi), MIPS и MIPS64 удалена. Попытка построить любой из этих ABI приведет к ошибке. Это16b
точно.16b
точно. r17c - первая версия, которая убрала поддержку MIPS :)Не загружая, не копируя и не вставляя символические ссылки, я смог «исправить» ошибку, просто создав пустой каталог, в котором более старая версия плагина Android Gradle ожидает удаленный набор инструментов mips:
Очевидно,
$ANDROID_HOME
указывает на корень установки Android SDK здесь. Если вы используете MacOS , заменитеlinux-x86_64
сdarwin-x86_64
в команде выше. На винде пользуйсяwindows-x86_64
.источник
Я удалил NDK, так как он мне не нужен. Зайдите в менеджер SDK на Android студии (Инструменты -> Android -> Менеджер SDK). Если NDK установлен. Просто снимите флажок и нажмите ОК. Установленные компоненты будут удалены.
источник
В моем случае эта ошибка возникла при создании нового Android Studio (Android studio 3.2.1) Java Project с
Так что я понижен до
Не лучшее решение остается в более старой версии, но, возможно, это просто временная ошибка в бета-версии, поскольку путь NDK в local.properties остается тем же, но среда IDE больше не жалуется
источник
Android NDK 18.0 *, похоже, имеет проблему, не создавая все файлы в папках после извлечения. Из-за этого произойдет сбой компиляции вашего приложения, использующего сборки ndk.
Лучше использовать версию NDK 17.1 * ( https://developer.android.com/ndk/downloads/ ) и т. Д., И вы можете извлечь или использовать извлечение из android studio в ndk-bundle, по умолчанию будет работать хорошо.
источник
[ https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android][1]
Для людей, которые пробуют этот пример и сталкиваются с проблемами с последним NDK. Можете следовать этому решению. В build.gradle измени это
к
Причина в том, что mips устарели в последних версиях ndk, Gradle версии 3.1.2 не будет принуждать mips. Предполагается наличие этих отсутствующих папок.
источник
Откройте Android Studio, перейдите в Инструменты, затем Android и затем SDK, снимите флажок NDK, если вам это не нужно, и перезапустите Android Studio.
источник
Простое решение - скачать и распаковать следующий файл, который содержит папки mips64el-linux-android-4.9 и mipsel-linux-android-4.9, в папку toolchains внутри sdk "android-sdk \ ndk-bundle \ toolchains".
Загрузите этот файл и извлеките его в набор инструментов
источник
В вашем проекте уровень файла Gradle увеличьте версию пути класса зависимостей от низкого до высокого, как
изменить как
источник
Решил это, добавив
google()
зависимости в оба репозитория вbuild.gradle
(Project: ProjectName). затем синхронизируйте ваш проектисточник
У меня была похожая проблема, но я хотел использовать версию NDK r9d из-за требований проекта.
В
local.properties
пути было установлено,ndk.dir=C\:\\Android\\ndk\\android-ndk-r9d
но это приводит к проблеме:Решением было:
sdk\ndk-bundle\toolchains
до\ndk\android-ndk-r9d\toolchains
Мне кажется, что скопированные цепочки инструментов не используются, но по какой-то причине они необходимы.
источник
Я решил этот вопрос, установив ndk, потому что он мне не нужен
источник
Вот исправление.
При компиляции проекта в android studio я иногда сталкиваюсь с:
Это может быть вызвано обновлением связанных компонентов. Решение для Android студии (Инструменты -> Android -> SDK Manager). Выберите элемент ndk и удалите его. Если программа нуждается в этом, вы можете переустановить его. Это обеспечит правильность расположения папки и не будет такой проблемы.
источник
Чтобы исправить это, как я сделал
Android Studio File> структура проекта и переход к проекту
изменить версию Gradle на 4.6 и версию плагина Android на 3.2.1
проверить скриншот
затем очистите проект, если вы получили эту ошибку «Не удалось найти aapt2-proto.jar»
перейти к build.gradle (проект)
Попробуйте переместить метод google () (файл .gradle) в верхнюю часть его блока выполнения, в порядке поиска репозиториев, в которых он ищет, что вызывает проблему.
например, измените это:
К этому:
Внесите эти изменения в "buildscript" и "allprojects"
проверить скриншот
Если вы не нашли Google (), добавьте его
источник
Для Android Studio 3.2.1 Обновите свой
Gradle версия 4.6
Плагин Android версии 3.2.1
источник
Проблема возникает главным образом, когда вы клонируете предыдущий проект специально из github. Что вы можете сделать, это
classpath 'com.android.tools.build:gradle:3.2.1'
в вашем проекте Gradle.
Затем измените все экземпляры компиляции с помощью реализации, за исключением compileSdkVersion, оставьте его в том же состоянии, что и на уровне приложения.
Вместо синхронизации теперь нажмите на make project (Ctrl + F9)
При необходимости добавьте репозитории Google Maven.
Обновите упаковщик Gradle, если это необходимо.
(IDE Android Studio попросит / покажет вам то же самое для шагов 4 и 5)
это исправляет !! Наслаждайтесь кодированием
источник
ПРИМЕЧАНИЕ. Этот ответ, по-видимому, относится к:,
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
но здесь он был связан с помощью:* /programming/52193274/no-toolchains-found-in-the-ndk-toolchains-folder-for-abi-with-prefix-mips64el-l
Из НДК р19б:
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
, обновите файл проекта до [используйте плагин версии 3.1 или новее]. Вам также нужно будет обновить до Android Studio 3.1 или новее.источник
Если вы не используете NDK, сбросьте переменную окружения
ANDROID_NDK_HOME
.источник
Для меня я думаю, что может быть некоторая проблема при установке Android NDK из Android Studio. Я смог решить эту проблему следующим образом
Скачал андроид ндк с
https://developer.android.com/ndk/downloads/index.html
и поместил внутри ndk-bundle (где установлен ваш Android SDK). Для получения дополнительной информации проверьте эти экраны.
https://app.box.com/s/dfi4h9k7v4h0tmbu3z9qnqx3d12fdejn
источник
Если вы используете Ionic 3 Удалите ndk из инструментов Android Studio SDK.
источник
Найдите свой локальный Android-SDK, если вы загрузите соответствующий SDK из ndk, там будет папка под названием «ndk-bundle»
Внутри есть папка "toolchains".
Мы заметили, что внутри mips64el нет связанных файлов.
Решение заключается в следующем:
Нажмите здесь, чтобы загрузить пакет NDK отдельно через браузер. После распаковки откройте папку «toolchains», сравните ее с папкой android-sdk-> ndk-bundle-> toolchains, найдите отсутствующую папку, скопируйте последние 3. Перекомпилируйте, проблема решена. Надеюсь, это поможет вам, приятель
источник
Столкнувшись с той же проблемой.
Я добился успеха следующими способами.
Откройте свой файл buldle.gradle и обновите версии, чтобы они следовали обоим classpath
classpath 'com.android.tools.build:gradle:3.2.1' classpath 'com.google.gms: google-services: 4.2.0'
Затем выполните синхронизацию, а затем получите один файл для обновления версии Gradle, а затем нажмите на эту ссылку и дождитесь загрузки всех необходимых обновлений (надеюсь, Интернет доступен). После долгого времени вы получили успех.
источник
Сначала попробуйте обновить версию ndk https://developer.android.com/ndk/downloads/.
Если это не работает, вы можете попробовать следующее:
Создать папку
Перейдите в папку Sdk \ ndk-bundle \ toolchains (в моем случае это C: \ Users \ USER \ AppData \ Local \ Android \ Sdk \ ndk-bundle \ toolchains; вы можете найти свой в File-> Structure Project-> SDK местоположение в вашей студии android) и создайте папку с именем, которое показано как отсутствующее в ошибке, например: если ошибка
Затем создайте папку с именем mipsel-linux-android
Включить содержимое Снова перейдите в папку Sdk \ ndk-bundle \ toolchains и откройте любую папку, которая уже есть в ней. Например: Sdk \ ndk-bundle \ toolchains \ aarch64-linux-android-4.9 (в моем случае C: \ Users \ USER \ AppData \ Local \ Android \ Sdk \ ndk-bundle \ toolchains \ aarch64-linux-android-4.9) скопируйте предварительно созданную папку в папку, созданную на последнем шаге
Запустите проект еще раз, и он будет работать
Надеюсь, поможет!!
источник
В моем ограниченном опыте с этим вопросом я пытаюсь решить проблему, используя следующий метод:
1. Оставьте версию инструментов сборки Android такой же, как и версию Gradle. Например: если вы используете версию инструментов сборки 3.3.0, ваша версия Gradle должна быть 4.10.1. Вы можете ссылаться по ссылке https://developer.android.com/studio/releases/gradle-plugin и chagne вашего инструменты сборки и версия Gradle в вашей AS (Файл-> Структура проекта-> Проект)
2.Если метод1 не работает, вы можете настроить версию набора инструментов ndk для решения проблемы: например, скачать ndk18 или ndk16, указав путь ndk для вашей AS (Файл-> Структура проекта-> Расположение SDK-> Расположение Android NDK)
источник
Перейдите к
C:\Users\lalit\AppData\Local\Android\Sdk\ndk-bundle\toolchains
.Теперь найдите имя папки
aarch64-linux-android-4.9
и переименуйте его вmips64el-linux-android
.Перезапустите приложение для Android.
источник