Результат роздільної здатності NDK: Налаштування проекту: версія моделі Gradle = 5.4.1, версія NDK невідома помилка


103

Після оновлення Android Studio і Gradle до 3.5 я отримую цю помилку:

Результат роздільної здатності NDK: Налаштування проекту: версія моделі Gradle = 5.4.1, версія NDK невідома

Я змінив версію Gradle в build-gradle ще на 3.4.2, але це не допомогло.


Яка версія є вашою NDK? Як її встановили? Як ви використовуєте його у своєму проекті (вказано у build.gradle, local.properties або ANDROID_NDK_HOME)? Що знаходиться у файлі source.properties у NDK?
Ден Альберт

2
Звідки ви взяли цю «помилку»? Це повідомлення я отримую після оновлення Android Studio у всіх своїх проектах у Журналі подій, але це не впливає. Все будується і працює як слід. Я ніколи не використовував NDK - тому мені байдуже, чи не вийде.
Неймовірний січень

1
я думаю ... "версія NDK" не є головною проблемою .... я знову імпортую проект ... і проблема вирішена
Farhad Farzin


1
Можливо, жодне з рішень не працює для вас (вони не працювали для мене). Проблему відслідковує google, ви можете зірочитись
Майк Харді

Відповіді:


70

У мене була подібна проблема, і я вирішив її, відкривши проект, використовуючи Import project (Gradle, Eclipse, etc.)замість Open existing Android Studio project.


9
Це не вирішило це для мене. У мене все ще є помилка навіть при gradle 5.6.1 / плагін 3.5.0 / Android Studio 3.5.0 після імпортування проекту знову
Майк Харді

Для повноти (так як я сказав , що це не робота для мене) це на самому справі робить роботу для мене - і потрібно навіть - щоб виправити окремий дурний вид Gradle + зреагувати-рідний рідної питання модуль компіляції. Тож як трюк "Android Studio / gradle", щоб мати у своїй сумці хитрощів, це добре.
Майк Харді

20
перейдіть до Файл> Структура проекту> Завантажте
NDK,

3
Я закрив проект, видалив усі збірки папок, файли .iml, папку .idea. Потім відкрили проект, і він успішно збудувався
Дмитро Павлухін

1
@KingKongCoder Я знайшов це посилання у Файл> Структура проекту> Місце розташування SDK> Завантажити Android NDK
бітлатер

18

Ви можете завантажити NDK з Файл> Проект Структур> Вибір місця розташування SDK з лівої панелі та натискання Завантажити з частини локації NDK.


9
Не має сенсу, якщо ви не використовуєте його.
Неймовірний січень

Питання стосується повідомлення про помилку, і відповідь не повинна вимагати встановлення, щоб позбутися від повідомлення. NDK - необов'язковий пакет
Майк Харді

Відповідь призначений для всіх, хто використовує NDK і стикається з цією помилкою, і в питанні не зазначається, використовує він NDK чи ні. @ The
Zahra

1
NDK займає майже 1 Гб вашого попереднього жорсткого диска! І я не впевнений, чи є якийсь інший вплив (наприклад, пам'ять, продуктивність, процесор тощо). Чому нам потрібно завантажити його, якщо він ніколи не використовується? Чи можемо ми просто ігнорувати помилку?
Пабло Альфонсо

@Pablo Так, якщо ви не використовуєте NDK і не допомогли відповіді, ігноруйте помилку.
Захра

11

У мене виникло те саме питання після оновлення студії Android. Вам просто потрібно відкрити local.propertiesта змінити ndk.dirшлях до вашого шляху NDK.

Код:

ndk.dir=D\:\\Android\\SDK\\ndk-bundle
sdk.dir=D\:\\Android\\SDK


2
Це не має сенсу, якщо ви не маєте і не хочете NDK. Це необов'язковий компонент
Майк Харді

local.properties говорить: "Цей файл автоматично генерується Android Studio. Не змінюйте цей файл - ваші зміни будуть витримані!"
leoneboaventura

7

Я не використовую NDK у своєму проекті, але у мене була така ж проблема. Проблема зникла після оновлення версії SDK до новітньої компіляціїSdkVersion 29


2
Цікаво - я думав, що у нього є потенціал, тому я спробував його, він все ще не вирішив це для мене. Тут відкрите питання issueetetracker.google.com/isissue/140403764
Майк Харді

2
@MikeHardy на даний момент я використовую плагін Gradle версії 3.5.0 та gradle версії 5.4.1. Спробуйте змінити ці версії, тоді як помилка буде виправлена. Сподіваюся, це допоможе вам.
Влад

1
все сучасне, але все одно те саме!
Сахан Пасінду Нірмал

6

У мене була попередня відповідь (оскільки видалена модераторами), де я детально пояснив, що існують обхідні шляхи (як перераховано тут), які працюють для деяких, але, що є основна помилка в gradle, оскільки обхідні шляхи працюють не для всіх (конкретно: жоден з вони працюють на мене)

Пов’язану проблему Google можна знайти тут: https://issuetracker.google.com/isissue/140403764

Оновлення: Станом на сьогодні (20190920) вони вказують, що вони виправили основну проблему, тому я б очікував, що майбутній випуск gradle після сьогоднішнього дня (20190920) буде містити виправлення.

Update2: Сьогодні (20190926) я отримав відповідь від googler про те, що проблемний код був у Android Studio і він міститься у відділенні 3.6-випуску, але наразі він не доступний у будь-якій загальнодоступній версії (Android Studio 3.6 Canary 12 був випущено безпосередньо до цього виправлення). Це дозволяє вам знати, на який компонент слід оновити і на які версії звернути увагу, в будь-якому випадку. Схоже, Android Studio 3.6 Canary 13 і пізніших версій має мати його https://issuetracker.google.com/isissue/140403764#comment13

До цього часу ви можете спробувати вирішити способи вирішення проблем, але коли є помилка постачальника, а обхідні шляхи не працюють, вам просто доведеться чекати виправлення постачальника.



4

Цю проблему я вперше отримав після оновлення з Android Studio 3.5.0 до 3.5.1 сьогодні.

Я просто зробив перебудову з верхнього меню Build -> Rebuild Project.

Це може не працювати для всіх, залежно від того, що спричинило проблему, але воно працювало на мою. Дай постріл.

(Крім того, я не використовую NDK і ніколи не завантажував його. Ще не завантажував)


1
Я використовую AS 3.5.1, мій проект потребує NDK. Отримали точну помилку, очистіть та відновіть її. Досить простіше спробувати його, перш ніж робити щось інше.
Шон

@Sean Приємно, радий, що це працювало! До речі, я думаю, що відбудова також починається з чистого. Я зрозумів, що колись у мене була відкрита нижня панель інструментів збірки, і вона була «чистою» як перше завдання. З тих пір я тільки почав вражати лише відбудову. (Сподіваюся, це робить те, що я думаю, що це лол).
Райан

4

Якщо ви не використовуєте NDK, ігноруйте помилку.

Я встановив NDK, щоб побачити, чи це має значення. Різниці немає (за винятком невикористаної папки NDK більше 2 ГБ :). Тому я видалив її (тобто видаліть папку ndk та видаліть змінну NDK-середовища, яку ви встановили раніше).


3

я виправлю це, перейшовши на file > Invalidate Caches\Restart IDE, перезавантажиться і проблема буде виправлена


перейдіть до "файл> структура проекту> розташування SDK" та завантажте останній NDK та перейдіть до проекту "local.properties" та вкажіть місце NDK, подібне до цього "ndk.dir = C \: \\ Користувачі \\ Lenovo \\ AppData \ \ Місцевий \\ Android \\ Ndk '
Hocine Djouamaa

Це не має сенсу, якщо ви не користуєтесь ним (NDK)
Sahan Pasindu Nirmal

3

Після мого останнього оновлення Android Studio у мене з’явилось те саме повідомлення про помилку. Я спробував інші відповіді тут, і жодна не працювала. Але відповідь @ Zahra вказувала мені на щось, що спрацювало:

Перейдіть у меню Файл-> Структура проекту ... У розділі " Місце розташування Android NDK " натисніть спадне меню та виберіть опцію " ЗАМОВЛЕННЯ рекомендується ".

До того, як я обрав за замовчуванням, був дещо інший шлях. Десь оновлення за допомогою менеджера SDK шлях, схоже, змінився.

А тепер у файлі local.properties sdk.dir встановлений той самий каталог, що і параметр " DEFAULT NDK рекомендовано ".


Спробувавши щонайменше 5 різних "рішень", цей нарешті повернув мене назад, щоб перейти до того, що буде наступна помилка Android Studio ...
norlesh

2

У мене була така ж проблема. Моє середовище:

  • Android Studio 3.5.1
  • 4.4
  • Плагін Android-Gradle-3.1.2
  • CMake 3.10 і 3.6

Я видалив CMake 3.10 від SDKManager. (лише встановлений CMake становить 3,6)

Синхронізацію та створення Gradle вдалося.

(1)

android-gradle-plugin 3.1.2 використано CMake 3.10.

У Android-gradle-плагіні 3.1.2 (або 3.1. +) Функцією підтримки CMake 3.7 і вище є функція попереднього перегляду.

(з вихідного повідомлення gradle assembleDebugабо gradle sync.)

(2)

https://developer.android.com/studio/projects/add-native-code.html#use_a_custom_cmake_version

Менеджер SDK включає версію версії CMake 3.6.0 і роздвоєну версію 3.10.2. Проекти, які не встановлюють конкретну версію CMake у build.gradle, створюються за допомогою CMake 3.6.0.

Можливо, така поведінка є плагіном для Android-gradle 3.3 або вище. (саме з android-studio 3.3 можна завантажити CMake 3.10)

Android-gradle-plugin 3.1.2 використана остання версія встановленої CMake.


я пропустив, що ви написали "Gradle 3.5" та "build-gradle назад до 3.4.2".
Ю. Какідзакі

2

У мене був такий самий випуск і на mac.

Пропозиція: Примусьте папку .gradle відновити себе.

Це все ще показує, що "NDK версія невідома" в Журналі подій, але вона будується успішно і не викликає у мене жодних проблем. (У мене немає завантажених NDK)

  1. Відкрийте свою папку / Users / macuser /
  2. Натисніть CMD + SHIFT +. (крапка / період) для перегляду прихованих папок
  3. ВИДАЛИТИ папку .gradle
  4. Перезапустіть Android Studio

Це призведе до того, що Android Studio відновить і повторно завантажить папку .gradle, виправляючи суперечливі файли в процесі.


Це працювало для мене, але лише в перший раз. Якщо я повторно відкрив проект, не попередньо видаляючи .gradle, я отримав би ту саму помилку, що і раніше.
Кайл Абенс

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

1

Проблема вирішується, коли я оновлював версію плагіна Android Gradle з 3.1.4 до 3.4.0 та Gradle Version з 4.4 до 5.1.1 одночасно. Звичайно, я завантажив найновіший NDK (Side by Side) у менеджера SDK.


Мені також довелося оновити свою версію Gradle
BlackHatSamurai

1

У мене була така ж помилка після додавання пари бібліотек у build.gradleфайл рівня програми .
Рішення полягало лише в тому, щоб очистити проект .
На панелі меню виберіть: Build >> Clean Project
Після цього помилка для мене пішла. Я нічого іншого не робив.


1

У моєму випадку Android Studio був встановлений на новому mac. Просто потрібно було завантажити Android 9 (мій цільовий / компілюючий SDK - 28) та створити інструменти. Проблема була вирішена після цього.


1

У моєму випадку я виправлю це шляхом оновлення до SdkVersion 29 та переходу на AndroidX.


1
оновлення цілі та версії для компіляції до sdk 29 працювали для мене: D
Ziad H.

0

Після модернізації у мене є одна і та ж проблема в одному з моїх проектів. Я вирішив це, просто видаливши рядок ndk.dir = D: \ Android \ SDK \ ndk-bundle з файлу local.properties.


1
Відповідь може бути більш цінною, зазначивши, як ви знали, де знайти файл в андроїд-студії або у файловій системі, і ваші міркування щодо визначення того, що було внесено до змін.
Реенактор Роб

5
ndk.dir не встановлений у моїх проектах. Я ніколи не використовував NDK. Тим не менш, я отримую цю "помилку" в Android Studio 3.5.
Неймовірний січень

Так само, як і Неймовірний Ян, цього не було в моїх локальних властивостях, але я все ще отримую це повідомлення. Тож це не повне рішення, але, можливо, воно могло б допомогти
Майк Харді

0

Я отримав цю помилку (та кілька інших) після імпорту проекту з контролю версій через гіперпосилання Bitbucket.

Після імпортування закрийте проект та повторно імпортуйте його за допомогою File > New > Import Project. Після цього все побудовано правильно. (Шлях до NDK вже вказано належним чином і імпортується лише як новий, що працював)

Мета: Android Studio 3.5 Build #AI-191.8026.42.35.5791312, built on August 8, 2019 JRE: 1.8.0_202-release-1483-b49-5587405 x86_64 JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o macOS 10.13.6 Gradle 3.4.0


0

Проблема вирішена для мене після перевірки пропозицій у структурі проекту та оновлення двох запропонованих оновлень. Вибачте, я не можу запам’ятати назви модулів, оскільки вони зникли, як тільки я натиснув оновлення для кожного з них і синхронізував Graddle. запускається автоматично і після цього проблема зникає


0

пониження версії ndk з 20 до r17c та версія cmake з 3.10 до 3.6.411459 вирішила проблему для мене


0

У мене була та сама проблема після оновлення Android Studio. Моя проблема вирішується після оновлення Android SDK Build-Tools. [Інструменти-> Диспетчер SDK-> Інструменти SDK-> Інструменти побудови SDK для Android].

Потім спробуйте очистити проект [Build-> Clean Project].

Нарешті перезапустіть Android Studio IDE ......


0

Я щойно закрив проект, закрив студію Android, перезапустив комп'ютер, відстежив проект і видалив папку .Idea у "B: /PROJECTNAME/.idea" та voila.

Проблема вирішена. Він переробляє. Н / б: мій градул - андроїд. добродушність до когось.


0

Змініть кластерний шлях на "com.android.tools.build :gradle:3.5.2" у сценарії build.gradle


0

Гаразд. Нещодавно я завантажив останню версію студії Android і отримав подібну помилку. Тож врешті-решт я створив новий проект. Вибрана мова Котліна, а потім Джелі Бін (розмова про варіанти, з яких можна вибрати). Потім почалося все синхронізація, але перша синхронізація не вдалася, і з часом вона автоматично синхронізувалася і все почало працювати. Чи змінив типові коди (текст), оскільки я початківець, але не отримав жодних повідомлень про помилки. Попередній перегляд було добре, і я продовжив навчання. Вибачте, я не міг пояснити це краще. Я просто новачок. Ой! Вам потрібно підключитися до Інтернету, щоб він працював.


0

Якщо ця проблема виникла після оновлення Android Studio, і ви ініціювали оновлення плагінів із правого нижнього повідомлення: Відкрийте File > Project structure , а потім змініть версію Android Gradle на версію Android Studio і поверніть версію Gradle до попередньої.

У моєму випадку я знизив плагін Android Gradle з 3.5.3 до 3.2.1 та версія Gradle з 5.4.1 до 4.6.



0

У мене була ця проблема, і жодне з рішень не працювало на мене. Проблема полягає в тому, що ця помилка або попередження може з’явитися з дуже широких причин. Ви можете виконати наступні дії, щоб з’ясувати, що не так:

NDK відсутня

Коли Gradle починає компілювати власні залежності, він створює папку ".cxx" у папці "app". всередині цієї папки ви можете знайти файл "ndk_locator_record.json", який дуже дивний тип файлу журналу. Це в основному всі шляхи, які Gradle перевіряє, щоб знайти папку NDK. Якщо в номерах версій NDK є якась помилка чи невідповідність, ви можете побачити цей файл.

Збірка NDK не вдається

з якихось невідомих причин (можливо помилка в Gradle) збірка ndk не відображає фактичної помилки у вікні журналу подій, натомість показує збій, як не вдалося синхронізувати Gradle: виконання зовнішньої нативної збірки для ndkBuild .... слідуючи NDK Resolution результат: проект налаштування: версія моделі Gradle = 5.4.1, версія NDK невідома .

У цьому випадку поверніться до .cxx> ndkBuild> налагодження> x86 (x64 або будь-який інший архів процесора) Тут у цій папці ви можете знайти файл "json_generation_record.json", це той самий тип журналу, як правило, останній запис має фактичну помилку . Наприклад, для мене було

 ../../sdk/native/jni/OpenCV.mk: No such file or directory
 make: *** No rule to make target '../../sdk/native/jni/OpenCV.mk'.  Stop.

Звідси у вас є відправна точка, щоб дізнатися, що відбувається не так під капотом.


0

Якщо NDK не встановлено, а Android Project вимагає цього, то спочатку встановіть NDK.

У ОС Windows додайте шлях NDK до змінної середовища PAT H. Це виправить проблему з версією.

У моєму випадку шлях NDK дорівнює C: \ Users \\ AppData \ Local \ Android \ Sdk \ ndk \ 21.0.6113669


0

Я раніше стикався з цією проблемою, і вирішив її, переконавшись у правильних дозволах до каталогу додатків.

Я використовую macOS, тому зробив:

chmod -R 777 your_android_project

і питання не було.


-1

У мене теж є ця проблема, коли я оновив версію плагіна Android Gradle з 3.1.2 до 3.5.1

Ось як вирішити це питання:

Перейдіть gradle.properties fileу кореневу папку свого проекту та додайтеandroid.useDeprecatedNdk=true

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