React Native на Android не вдалося знайти інструменти побудови


92

Що викликає наступну проблему? Чи не підтримується моя версія SDK для Android?

Starting JS server...                                                                     
Building and installing the app on the device (cd android && gradlew.bat installDebug)...

FAILURE: Build failed with an exception.                                                  

* What went wrong:                                                                        
A problem occurred configuring project ':app'.                                            
> failed to find Build Tools revision 23.0.1       

З v25 менеджера SDK тепер вам потрібно встановити правильний інструмент збірки з Android Studio, оскільки androidкоманда видалена: stackoverflow.com/a/44295114/82609
Себастьян Лорбер,

Відповіді:


136

Ймовірно, вам потрібно оновити інструменти побудови.

Я зіткнувся з проблемою, коли намагався оновити за допомогою графічного інтерфейсу, він не показував точної другорядної версії, тому я не міг оновити його.

Це було вирішено переглядом доступних версій терміналу за допомогою:

android list sdk -a

[...]
Packages available for installation or update: 156
1- Android SDK Tools, revision 24.4
2- Android SDK Platform-tools, revision 23.0.1
3- Android SDK Platform-tools, revision 23.1 rc1
4- Android SDK Build-tools, revision 23.0.1

[...]

І встановлення правильної версії з:

android update sdk -a -u -t 4

3
Що це за androidпрограма? Де взяти?
jameshfisher

2
@jameshfisher - це частина Android SDK, вона знаходиться в каталозі "інструменти", наприклад: ~ / android-sdk / tools / android
edur

Я намагався оновити Android Studio кілька разів, але це ніколи не спрацювало. Ця команда все ж таки зробила. Дякую.
jordancooperman

Це насправді в android-sdk-linux в проекті React.
Гіта Томояга,

Зверніть увагу на нові версії менеджера SDK android команда більше не працює, і для запуску цього налаштування потрібно запустити Android Studio див. Stackoverflow.com/a/44295114/82609
Себастьян Лорбер,

73

Тільки примітка - отримати цю помилку можливо, оскільки єдина версія встановлених вами інструментів побудови занадто нова .

Я отримав саме помилку, яку отримав OP (скаржившись, що реагуючий рідний не міг знайти версію 23.0.1 Build Tools). Перевіривши свій менеджер SDK для Android, я побачив таке:

скріншот, на якому показано 23.0.2 "Встановлено", але 23.0.1 "Не встановлено"

Я наївно думав, що встановлення останньої версії Build-tools (23.0.2 на момент написання статті) буде працювати, але, мабуть, ні. Додатково встановлення 23.0.1 вирішило проблему.


та сама проблема тут. чи не існує способу використовувати новіші інструменти побудови? можливо якась конфігурація.
sodik

Ця пропозиція спрацювала і для мене. 23.0.2 був занадто новим, перейдіть малюнок. Дякую.
Фернандо

1
@boatcoder ця відповідь (встановити старіші інструменти збірки) є не менш правильною, ніж sodik (змініть, build.gradleщоб React Native використовував новіші інструменти збірки). Здається, Інструменти збірки Android слідують SemVer, тому модифікація build.gradleдля використання пізнішої виправлення або другорядної версії, як правило, повинна бути безпечною, може надавати деякі виправлення на рівні платформи або покращення продуктивності, і не шкодує вас, щоб завантажувати що-небудь. Але це зламає вашу програму, якщо це буде зроблено у випуску основної версії, і створює певний ризик навіть для випусків / незначних випусків, оскільки ви використовуєте RN із інструментами збірки, яких Facebook не планував.
Mark Amery

28

У мене також були проблеми з новішою версією інструментів збірки SDK (такими ж, як Марк), але мені вдалося вирішити це шляхом модифікації android/app/build.gradleта встановлення належної версії, наприклад

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"
...

ОНОВЛЕННЯ: Як запропонував Марк, розумно лише оновлювати незначну (або виправлену) версію таким чином. Ще однією причиною, чому не оновлювати цю версію, є те, що у вас є багато сторонніх бібліотек з рідною частиною - ви можете в кінцевому підсумку оновити їх усі. Тож ви повинні зважити можливі переваги новішої версії та трохи більше роботи.


1
не забудьте також змінити рядок 85 targetSdkVersion 22на targetSdkVersion 23.
Xianlin

Я виявив, що у згенерованому файлі build.gradle був buildToolsVersion "23.0.1", але у мене була встановлена ​​лише версія 23 (23.0.0) - Не впевнений, звідки "response-native init" знаходить номери версій SDK для android / tools. Тож причиною є насправді те, що команда response-native init не використовує номер версії доступних інструментів?
ferdil

Я вважаю, що 23.0.1 виправлений (можливо, може змінитися з версіями RN), але виявлення afaik не існує.
sodik

Дякую, це вирішило мою проблему, змінено з 23 на 25 та 23.0.1 на 25.0.0
нірен

4

Потрібно змінити 4 файли

grep buildToolsVersion * -r | grep 23.0.1

Examples/Movies/android/app/build.gradle:    buildToolsVersion "23.0.2"
Examples/UIExplorer/android/app/build.gradle:    buildToolsVersion "23.0.2"
ReactAndroid/build.gradle:    buildToolsVersion "23.0.2"
local-cli/generator-android/templates/src/app/build.gradle:    buildToolsVersion "23.0.2"

3

Мені довелося змінити свій проект Android build.gradleна:

compileSdkVersion 23
buildToolsVersion "23.0.3"

defaultConfig {
    applicationId "com.demoproject"
    minSdkVersion 16
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
    ndk {
        abiFilters "armeabi-v7a", "x86"
    }

3

Це означає, що Інструменти побудови Android, встановлені у вашій системі, є чимось іншим, ніж у файлі конфігурації вашої програми (ваш файл конфігурації вказує на 23.0.1), але у вас, ймовірно, є 23, 24 або 25.0. * У вашій системі.

Рішення для вирішення цієї проблеми:

  1. Відредагуйте build.gradleфайл, що знаходиться підanroid/app у папці проекту
  2. Шукайте запис buildToolsVersion"23.0.1" і замініть його на останню версію вашої системи. Ви можете знайти його тут:C:\Program Files (x86)\Android\android-sdk\build-tools

АБО ви можете спробувати встановити у свою систему ту версію, яка є у build.gradleфайлі (за допомогою менеджера SDK).


1

З Android SDK manager v25 вам потрібно встановити правильні інструменти збірки безпосередньо з Android Studio, оскільки androidкоманда більше не працює:

встановити з android studio


Щоб дістатися до цього екрану в межах Andriod Studio. файл -> налаштування -> Android SDK -> Інструменти SDK -> праворуч унизу «Показати деталі пакета» Я додав цей коментар, оскільки на його пошук знадобився деякий час.
Джейсон Оллшорн,

1

Знайдіть номер /Users/username/Library/Android/sdk/build-toolsкаталогу у каталозі, а потім змініть номер версії buildToolsVersionвідповідної конфігурації Gradle


1

Якщо у вас є Інструменти побудови версії 24.0.1, то оновіть свої, build.gradleщоб вони відповідалиbuildToolsVersion "24.0.0"

Мій Android/Sdk/build-tools/24.0.1/source.propertiesбув Pkg.Revisionвстановлений 24.0.0.


0

У мене виникла ця проблема при спробі побудови в командному рядку, слідуючи документації реакції native. Я вирішив цю проблему, відкривши проект в android studio. Невідповідні залежності з’являтимуться на панелі перебоїв зі збоями в нижній частині програми. Для кожної помилки натисніть на посилання, щоб вирішити проблему.


0

Я з’ясував, що це також трапляється, якщо ви видалили деякі пакети з вашого рідного проекту, а у ваших залежностях побудови gradle все ще є пакети внизу сторінки, наприклад:

{ project(':react-native-sound-player') } Переконайтеся, що після видалення проекту видалено відповідний код у файлі MainApplication.java (': response-native-sound-player')

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.