Flutter.io Статус ліцензії Android невідомий


85

[!] Інструментарій для Android - розробка для пристроїв Android (Android SDK 27.0.3)

• Android SDK a .. \ Android \ sdk • Розташування Android NDK не налаштовано (необов’язково; корисно для підтримки власного профілювання) • Платформа android-27, інструменти побудови 27.0.3 • Двійковий файл Java за адресою: C: \ Program Files \ Android \ Android Studio \ jre \ bin \ java • Java-версія OpenJDK Runtime Environment (збірка 1.8.0_152-release-1024-b02) X Статус ліцензії Android невідомий.

Під час запуску Flutter doctor з’являється повідомлення про помилку Android Sdk, хоча я все ще можу створювати / запускати на своєму пристрої. Мені було просто цікаво, як вирішити цю проблему. Я вважаю, що у мене завантажена найновіша версія android sdk, я не знаю, що сталося, тому що минулого тижня у мене не було цієї проблеми.

Нові випуски

Після кількох можливих виправлень у коментарях це призвело до нової проблеми. Я встановив нові версії android sdk P, 8 та 7 разом із новою jdk10. Досі недостатньо оновлений, очевидно.

C:\Flutter\flutter>flutter doctor --android-licenses
A newer version of the Android SDK is required. To update, run:
C:\Users\tdmil\AppData\Local\Android\sdk\tools\bin\sdkmanager --update

C: \ Flutter \ flutter> C: \ users \ username \ appdata \ local \ android \ sdk \ tools \ bin \ sdkmanager.bat --update

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
        at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
        at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
        at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
        at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
        at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
        ... 5 more

Може бути корисним для подальших посилань. Я використовував Windows 10 і мав версію JDK 11. Як запропонували більшість людей, я знизив свій JDK до версії 8. Потім я стратив flutter doctor. Там все ще сказано, що ліцензію потрібно прийняти. Потім я побіг flutter doctor --android-licensesі сказав yesпро всі ліцензійні угоди. Нарешті проблема зникла :).
Зниження рівня знищення

Відповіді:


74

Якщо ви оновили Android SDK, можливо, ліцензії змінилися. Залежно від того, як ви зробили оновлення, вам може бути запропоновано прийняти зміни, а може бути, це не просто не рятує той факт, що ви прийняли їх так, як це сприймає трепет.

Щоб вирішити проблему, спробуйте запустити

flutter doctor --android-licenses

Це повинно запропонувати вам прийняти ліцензії (спочатку це може попросити вас, на випадок, якщо ви просто напишете yта натисніть клавішу Enter, хоча це повинно сказати вам).

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


10
Це говорить мені, що потрібна нова версія Android SDK. Щоб оновити, запустіть: C: \ Users \ abc \ AndroidSDK \ tools \ bin \ sdkmanager --update. Що я повинен зробити?
Хузайфа Асіф,

@HuzaifaAsif Ви пробували запустити цю команду? Сподіваємось, це має вирішити проблему. Якщо це не вдається, можливо, ви захочете знайти інше запитання або задати нове щодо нього.
rmtmckenzie

2
@HuzaifaAsif, я також кілька разів стикався з цією проблемою. Як відповів нижче Tommie C, спробуйте встановити java 1.8 вручну та встановити $ JAVA_HOME в папку bin, а потім запустіть flutter doctor --android-licenses і прийміть усі ліцензії. Сподіваюся, це допоможе.
Діпак Джоші

@HuzaifaAsif, як ви перевстановили SDK ... Я застряг у цій помилці, оскільки використовую версію Android Studio 3.6
Махмуд Харуні

Просто з головою! Це працювало лише для мене за допомогою Java 8.
Лукас Сальданья,

48

Помилка:

Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
        at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
        at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
        at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
        at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
        at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
        ... 5 more

відбувається, оскільки поточна версія SDK несумісна з Java 9.

Отже, для її вирішення ви можете знизити свою версію Java до Java 8, або, вирішивши проблему, ви можете експортувати наступну опцію на своєму терміналі:

Linux:

export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'

Windows :

set JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'

І щоб зробити його дотримуватися, ви можете експортувати JAVA_OPTS в файлі профілю на Linux ( .zshrc, .bashrcі т.д.) або додати в якості середовища постійно на Windows.


Потім ви можете ввести команду flutter або sdkmanager:

Метушня :

flutter doctor --android-licenses

sdkmanager :

sdkmanager --licenses

і введіть Y, коли потрібно прийняти ліцензії.

ps. Це не працює для Java 11/11 +, яка не має модулів Java EE. Для цього варіанту є гарною ідеєю знизити версію Java або дочекатися оновлення Flutter .

Посилання: JDK 11: Кінець дороги для модулів Java EE


4
інший варіант, якщо у вас встановлені як Java 11, так і 8, це експортувати точку JAVA_HOME до java8:export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
Кріштіану

1
Я змінив JAVA_HOME на JDK 8 у змінних середовища у Windows, і це спрацювало
GabrielBB

2
це не працює, оскільки java.se.eeвилучено з нових версій Java
Phani Rithvij

1
Ви не можете цього зробити в Java 11. Ви повинні встановити Java 8. Дивіться цю відповідь
Вахід

29

Правильним рішенням буде, якщо тоді у вас встановлена ​​андроїд-студія

  1. відкрити менеджер SDK
  2. під інструментами SDK зніміть прапорець приховувати застарілі пакети внизу
  3. тоді ви повинні побачити опцію, що називається Android SDK Tools (Obsolete)

введіть тут опис зображення

  1. перевірте це та подайте заявку, і нехай студія завантажить пакет
  2. після завершення запустіть команду, flutter doctorі тепер вона повинна запропонувати вам запустити flutter doctor --android-licenses після запуску ліцензійної команди, прийміть усі ліцензії, натиснувши y, і це має вирішити проблему

введіть тут опис зображення


Чи це відрізняється від верхньої відповіді.
tdmiller

1
це саме поточні офіційні документи для Mac станом на 18 березня 2020 року - див. flutter.dev/docs/get-started/install/… . Це відома проблема .
yair

1
Дякую за посилання @yair цього не знав
maheshmnj

15

Я пишу це через розчарування в установці флаттера ... Більшість проблем спричинені простими проблемами конфігурації. Виконайте ці кроки, щоб вирішити свої проблеми.

КРОК 1: АНДРОІД- ЛІЦЕНЗІЇ - ліцензії на Android дозволяють вирішити більшість справ

Оскільки ви тут, ви вирішили проблему "Статус ліцензії Android невідомий" для ланцюжка інструментів Android, як багато хто пропонував спробувати flutter doctor --android-licenses. Якщо ви добре з усіма конфігураціями. Він повинен запитати так і натиснути y та Voila. Але якщо це показує a

введіть тут опис зображенняІнструмент Android sdkmanager не знайдено (C\Users\__\local\Android\sdk\tools\bin\sdkmanager). Перейдіть до другого кроку

КРОК 2: Встановлення менеджера SDK з Android Studio

Відкрийте свою Android Studio, File-> settings->System settings(left tab) ->Android SDK,перейдіть на SDK Tool sectionцю сторінку, зніміть прапорець приховати застарілі пакети, виберіть Android SDL tools(obsolete)і натисніть застосувати.

введіть тут опис зображення Він встановить SDK, і ви підтвердите це, перевіривши, чи існує цей шлях(C\Users\__\local\Android\sdk\tools\bin\sdkmanager)

КРОК 3: Повторіть 1

Повторіть крок 1 після встановлення в новому командному рядку, перевірте, чи він працює, інакше перейдіть до КРОКУ 4

КРОК 4: sdkmanager --оновлення

Він попросить вас оновити sdk, просто запустіть команду, вказану в терміналі C\Users\__\local\Android\sdk\tools\bin\sdkmanager --update. Якщо він працює, то це круто. нехай закінчується і повторює крок 1, інакше, якщо він видає деякі винятки, такі як java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchemaтощо, java_error це означає, що ваша Java не встановлена ​​або неправильна версія. Перейдіть до наступного кроку

КРОК 5: JAVA 8.1 та шлях JAVA_HOME.

Встановіть JAVA 8.1 та встановіть шлях JAVA_HOME. Переконайтеся, що це версія 8.1 (зареєструйте безкоштовний акаунт і завантажте з Oracle версію 8.1, пам’ятайте, що вище 11+ не працюватимуть для флаттера введіть тут опис зображення

ПРИМІТКА : від yaniv maymon: якщо на вашому комп’ютері вже встановлена ​​Java, а sdkmanager --update все ще не працює. перейдіть до змінної середовища та оновіть шлях "JAVA_HOME" до папки jdk. потім вийдіть з командного рядка, відкрийте його ще раз і запустіть команду оновлення -

КРОК 6: Заключний крок

Після належного встановлення та налаштування шляху запустіть C\Users\__\local\Android\sdk\tools\bin\sdkmanager --update команду в новому терміналі, і вона запрацює

КРОК 7: Повторіть тремтіння лікаря , Ви бачите, як це говорить, щоб запустити команду flutter doctor --android-licenses. тому запустіть flutter doctor --android-licenses термінал і натисніть y, коли вас запитають


якщо на вашому комп'ютері вже встановлена ​​Java, а sdkmanager --update все ще не працює. перейдіть до змінної середовища та оновіть шлях "JAVA_HOME" до папки jdk. потім вийдіть з командного рядка, відкрийте його ще раз і запустіть команду оновлення
yaniv maymon

11

Ось кроки, які вирішують мою проблему:

  1. Відкрийте термінал
  2. типу flutter doctor --android-licenses
  3. натисніть, yщоб прийняти, цей процес може відбуватися кілька разів. Готово!

8

Я знайшов це рішення для того, щоб використовувати JDK 8 (для завантаження потрібен обліковий запис!) - використовуйте вбудований OpenJDK, який постачається з Android Studio:

Додайте це до свого ~/.profileабо подібного:

# Use the JDK embedded with Android Studio for command-line builds
export JAVA_HOME='/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home'

gradlewПотім збірки командного рядка та будь-який інший скрипт, який добре працює, використовуватимуть версію SDK, яка постачається з Android Studio 2.2+.

* Мій Mac все ще використовував Java 7 за замовчуванням.


5

Це також було моє видання, як і номер 16025

Як виняток у потоці "main" java.lang.NoClassDefFoundError: javax / xml / bind / annotation / XmlSchema. Здається, ця проблема зазвичай трапляється, коли ви раніше встановлювали Java 9. До речі, він не сумісний з android-sdk, спробуйте видалити Java 9 JDK, якщо він все ще існує.

Загалом API JAXB вважаються API Java EE, і тому вони більше не містяться у шляху класу за замовчуванням у Java SE 9. Java 9 вводить поняття модулів, і за замовчуванням агрегований модуль java.se доступний у класі шлях (вірніше, шлях модуля). Як випливає з назви, агрегований модуль java.se не включає API Java EE, які традиційно постачаються в комплекті з Java 6/7/8. На щастя, ці API Java EE, які були надані в JDK 6/7/8, все ще перебувають у JDK, але вони просто не знаходяться на шляху до класу за замовчуванням. Додаткові API EE Java надаються в наступних модулях

Рішення для вирішення проблеми, якщо у вас встановлена ​​Java9 / 10

  1. Відкрийте sdkmanager у своєму редакторі.
  2. Додайте DEFAULT_JVM_OPTS

Замінити

DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME"'

За допомогою цього

DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
  1. Збережіть файл і закрийте редактор, а потім спробуйте запустити команду ще раз.

Що стосується невідомої проблеми стану ліцензії Android, я намагався вирішити ці дії:

  1. Відкрийте термінал
  2. Перейдіть до розташування вашого SDK для Android C: \ Users% user% \ AppData \ Local \ Android \ Sdk \ tools \ bin або ~ / Library / Android / sdk / tools / bin

  3. Виконайте команду: ./sdkmanager --license

Список літератури

Не вдалося запустити sdkmanager --list (Android SDK) з Java 9

Як вирішити java.lang.NoClassDefFoundError: javax / xml / bind / JAXBException в Java 9


Я спробував вирішити, що файл, здається, трохи змінився з тих пір, але я все-таки зробив необхідні зміни, але все-таки не пощастило. Я думаю, що я просто сподіватимусь на оновлення пізніше, яке це виправить, оскільки я все ще можу запустити додаток. Всім дякую!
tdmiller

4

Цей рядок, наданий у спільноті випусків GitHub, виправив мою проблему, тут вона про всяк випадок, якщо допоможе комусь іншому.

@rem Execute sdkmanager

"%JAVA_EXE%" %DEFAULT_JVM_OPTS% -XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee %JAVA_OPTS% %SDKMANAGER_OPTS% -classpath "%CLASSPATH%" com.android.sdklib.tool.sdkmanager.SdkManagerCli %CMD_LINE_ARGS%

4

ось моє рішення:

  1. встановити SDKMan

    $ curl -s "https://get.sdkman.io" | bash

  2. встановлення вашого bash_profile

    $ source "$HOME/.sdkman/bin/sdkman-init.sh

    $ source ~/.bash_profile

  3. знайдіть java sdk і виберіть бажати встановити версію

    $ sdk ls java

    $ sdk install java 8.0.192-zulu

  4. скопіюйте попереджувальне повідомлення лікаря про флаттер, щоб оновити sdkmanager

    $ /Users/YourUserName/Library/Android/sdk/tools/bin/sdkmanager --update

  5. через 1 ~ 4 повторіть це

    $ flutter doctor --android-licenses


стій! java 8.0.192-zulu недоступний. Можливі причини: * 8.0.192-zulu недійсна версія * бінарні файли Java несумісні з Дарвіном * Java ще не випущена
Hos Mercury

4

Просто встановіть інструмент командного рядка sdk (найновіший) нижче в android studio. введіть тут опис зображення


це теж я пропустив :) Велике спасибі
Абхішек Тапліял

1
Мені довелося це зробити перед запускомflutter doctor --android-licenses
geg

3

MacOS 10.15: Android Studio 3.5.1:

Рішення, яке працює для мене, було використання інструменту Java Environment jenv (встановленого через homebrew ). Цей інструмент змінює $ JAVA_HOME при перемиканні між версіями Java.

У моєму випадку у мене встановлено кілька версій Java, а поточна глобальна версія, яка використовується, була типовою. Я також знайшов за необхідне прокоментувати змінну середовища $ JAVA_HOME в моєму .bash_profileпри використанні цього інструменту.

У Терміналі я увійшов, jenv global 1.8щоб запустити java 1.8 замість пізнішої версії (у мене встановлено кілька версій).

Після того:

flutter doctor --android-licenses

АБО

sdkmanager --licenses

обидва працюють нормально.

Примітка: Можливо, вам доведеться вийти і знову відкрити оболонку терміналу, якщо вам доведеться перевизначити змінну середовища $ JAVA_HOME.


3

Посилання - https://robbinespu.gitlab.io/blog/2020/03/03/flutter-issue-fixed-android-license-status-unknown-on-windows/

Отже, тут рішення, відкрийте менеджер SDK, а потім зніміть прапорець Hide Obsolete Packages

введіть тут опис зображення

Тепер ви побачите Android SDK Tools (Obsolete) 26.1.1з'являється. Позначте цей пакет і натисніть apply buttonкнопку ОК. він завантажить SDK. потім restartAndroid studio

Приємно, тепер, якщо ви біжите flutter doctor, ви повинні отримати позитивний результат, як показано нижче

PS D:\Workplace\flutter_projects> flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, v1.12.13+hotfix.8, on Microsoft Windows [Version 10.0.18363.657], locale en-MY)

[√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
[√] Android Studio (version 3.6)
[√] VS Code (version 1.42.1)
[√] Connected device (1 available)

• No issues found!

PS D:\Workplace\flutter_projects> flutter doctor --android-licenses -v
All SDK package licenses accepted.======] 100% Computing updates...

Запустіть flutter doctor --android-licensesі введіть Y, коли вас попросять

за потреби ми можемо завантажити пакет вручну тут https://dl.google.com/android/repository/sdk-tools-windows-4333796.zip (для користувача Windows). Сподіваюся, цей підручник допоможе людям, які шукають рішення


Це справді мені допомагає :)
Скажіть OL

2

Для тих з вас, хто працює на Linux і постійно отримує помилки під час flutter doctor --android-licenses.

Я продовжував отримувати попередження про неможливість створення налаштувань під час спроби прийняти ліцензії, яке я виправив, вказавши розташування SDK:

sdkmanager --sdk_root=/home/adel/bin/android-sdk --licenses

Потім Sdkmanager надрукував: прийнято всі ліцензії на пакет SDK.

Однак Флаттер продовжував надавати статусу ліцензії Android невідому помилку. І спроба зателефонувати flutter doctor --android-licensesдасть мені те саме, що не може створити помилку налаштувань, яку я отримував раніше.

Щоб виправити це, я відредагував sdkmanagerскрипт, розташований у $ {your android tools location} / tools / bin /, і змінив останній рядок із:

exec "$JAVACMD" "$@"

Кому:

exec "$JAVACMD" "$@" --sdk_root=/home/adel/bin/android-sdk

Це змусить Flutter викликати sdkmanager під час передачі необхідного аргументу sdk_root, останнього виклику для flutter doctor --android-licensesвиправлення проблеми.

Мені не довелося користуватися Java 8.


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

Єдине рішення в Інтернеті, яке працювало для мене! Дякую друже! :)
Punita Ojha

1

відкрийте файл flutter_console.bat з кореневої папки flutter SDK і запустіть команду

flutter doctor --android-licenses

він прийме ліцензії нещодавно завантажених оновлень Android SDK. Вам потрібно запускати його щоразу, коли ви завантажуєте та оновлюєте Android SDK.


1

Спробуйте знизити свою версію Java , це станеться, коли версія вашої системи java не сумісна з версією Android. Щойно ви змінили версію Java, просто запустіть, flutter doctorвона автоматично прийме ліцензії.


1

Я знизив свою версію Java до версії 1.8 і її вирішено, ось посилання для завантаження JDK8

Виконайте наступну команду після встановлення JDK8

   flutter doctor --android-licenses

1

Моє середовище: Windows 10 64bit, OpenJDK 14.0.2

Початкові помилки описані вище.

Помилка була вирішена після

  1. Замінено " C: <папка встановлення> \ openjdk-14.0.2_windows-x64_bin \ jdk-14.0.2 " на "* C: \ Program Files \ Android \ Android Studio \ jre * " у змінній середовища PATH & JAVA_HOME
  2. побіг флаттер-лікар --андроїд-ліцензії та обраний y для підказок



0
  1. Відкрийте Android Studio.
  2. Перейдіть у меню Файл-> Налаштування.
  3. Шукати AndroidSDK .
  4. Оновіть свій рівень API до останньої версії.
  5. Потім перезавантажте Android Studio.

0

Для тих, хто все ще стикається з проблемою :
Як відповів нижче Томмі Сі, Аба та небагато інших людей, але може бути недостатньо чітким, як я знайшов.
Спробуйте встановити java 1.8 вручну, як описано тут у Windows / Linux: [ https://www3.ntu.edu.sg/home/ehchua/programming/howto/JDK_Howto.html]
та встановіть змінну $ JAVA_HOME (шлях jdk).
У вікнах встановіть шлях jdk ($ JAVA_HOME): [ Як встановити java_home в Windows 7? .
У Linux: [ /ubuntu/175514/how-to-set-java-home-for-java] .
Потім запустіть flutter doctor --android-licensesі прийміть усі ліцензії. Сподіваюся, це допоможе.


0

Я знайшов це рішення. Я завантажую JDK 8. Потім додаю ім'я завантаження файлу jdk до JAVA_HOME до змінних користувача в змінну середовища.


0

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

  1. Встановив JDK 1.8 та встановив для мого JAVA_HOME env значення 1.8 - Це не спрацювало
  2. Моя студія Android не показувала жодних «Інструментів Android SDK (застарілих)», але мала «Інструменти Android SDK»

Це те, що мені вдалося:

  1. Видаліть «Інструменти SDK для Android» з диспетчера SDK
  2. Переінсталюйте його, спершу знявши прапорець біля пункту «Сховати застарілі пакети», а потім виберіть «Інструменти Android SDK (застарілий)», встановіть його.
  3. запустити flutter doctor --android-licensesі вибратиy підказки
  4. біжи flutter doctorі все буде добре !!!!

0

Я стикався з проблемою. toolsПапка була також відсутня в Android SDKпапці. Я вважаю, що toolsпапка з'являється лише після встановлення Android SDL tools(obsolete). Цей варіант для мене був недоступний.

Рішення: я оновив Javaверсію 8 до версії 12 і зміг встановити інструменти. Ви все одно можете отримати помилку Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licensesпід час передачі команди flutter doctor -v. Запустіть команду flutter doctor --android-licenses, ліцензії перевірятимуться при натисканні yesкожного разу, коли з’являється це запитанняAccept? (y/N):

Сподіваємось, це комусь допоможе.


0

Якщо ви використовуєте доморощену бочку , ви можете це зробити

brew cask install android-sdk
mkdir ~/Library/Android/sdk/tools
ln -s /usr/local/bin/ ~/Library/Android/sdk/tools/bin
flutter doctor --android-licenses

0

Для людей з Windows короткостроковим рішенням є зниження версії до JDK8. Будемо сподіватися, що флетер найближчим часом вирішить проблему, коли Android SDK працюватиме з> JDK8.


0

Провівши багато аналізів для мого Ubuntu 20.04, я знайшов рішення

для мене помилка /home/rk/Android/Sdk/tools/bin/sdkmanagerбула відсутня запис дозволу.

  1. chmod +w home/rk/Android/Sdk/tools/bin/sdkmanager

Потім виконайте наведену нижче команду.

  1. flutter doctor --android-licenses

він автоматично обробляє ліцензії.


0

Виконайте ці прості кроки.

  1. перейдіть до інструментів, потім менеджеру SDK, потім натисніть Android SDK.
  2. перейдіть на вкладку сайтів оновлення SDK.
  3. встановіть прапорець, в якому вказано https: //..sources, які потрібно отримати за допомогою https: //.
  4. натисніть застосувати та гаразд.
  5. Тепер перезапустіть android studio.
  6. перейдіть до інструментів SDK та встановіть прапорець "Сховати застарілі пакети".
  7. почекайте приблизно хвилину або близько того, поки не з’являться пакунки.
  8. потім виберіть пакет під назвою "інструменти Android SDK (застарілий) і натисніть гаразд.
  9. продовжуйте встановлювати пакет.
  10. після інсталяції перезапустіть android studio, а також перезапустіть cmd, а потім запустіть flutter doctor.
  11. це займе пару хвилин, і це має спрацювати

-1

ПОПЕРЕДЖЕННЯ : Ця відповідь корисна, якщо у вас є проблеми із змінною навколишнього середовища JAVA_HOME та її напрямком. Якщо у вас немає цієї проблеми, ви не повинні спробувати це рішення.

Якщо у вас є ця помилка, і ви пробували з flutter doctor --android-licenses або sdkmanager --licenses і у вас виникає проблема з вашою змінною середовища JAVA_HOME, то вам доведеться прочитати це.

У мене є мураха MacOS Catalina, я міг би успішно вирішити цю проблему, виконавши наступні кроки:

  1. Відкрийте термінал
  2. Тип: open -e .bash_profile (Ви повинні побачити майже дві змінні середовища: flutter та JAVA_HOME)
  3. Збережіть змінну середовища JAVA_HOME, записану там у файлі textEdit, якщо хочете, та ВИДАЛІТЬ змінну середовища JAVA_HOME. Збережіть файл bash_profile.
  4. Знову перейдіть до терміналу та запустіть джерело $ HOME / .bash_profile
  5. Повторіть спробу тремтіння лікаря, і ви більше не побачите тієї ж помилки.

Будь ласка, повідомте мене, якщо у вас є сумніви.


-1

Ось що я зробив, щоб вирішити свою проблему. Зверніть увагу, що вам не потрібно видаляти стару копію Android Studio / SDK. Android Studio подбає про це, поки ви встановлюєте останню версію.

  1. Завантажено та встановлено останню версію Android Studio
  2. Дотримуйтесь інструкцій у цьому посібнику
  3. Після завершення встановлення запустіть програму Flutter Doctor і перевірте, чи ваша проблема мала бути вирішена. Якщо проблему вирішено, немає необхідності запускати команду flutter doctor --android-licenses .
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.