Flutter.io Android लाइसेंस स्थिति अज्ञात


85

[!] एंड्रॉइड टूलचेन - एंड्रॉइड डिवाइस के लिए विकसित (एंड्रॉइड एसडीके 27.0.3)

• Android SDK a .. \ Android \ sdk • Android NDK स्थान कॉन्फ़िगर नहीं किया गया (वैकल्पिक, मूल प्रोफ़ाइल समर्थन के लिए उपयोगी) • प्लेटफ़ॉर्म Android-27, बिल्ड-टूल्स 27.0.3 • जावा बाइनरी at: C: \ Program Files \ Android \ Android Studio \ jre \ bin \ java • जावा संस्करण OpenJDK रनटाइम एनवायरनमेंट (बिल्ड 1.8.0_152-रिलीज़-1024-b02) X Android लाइसेंस स्थिति अज्ञात।

फ़्लटर डॉक्टर को चलाने पर मुझे एंड्रॉइड एसडीके के साथ एक त्रुटि मिल रही है, हालांकि मैं अभी भी अपने डिवाइस पर निर्माण / रन कर सकता हूं। मैं इस मुद्दे को ठीक करने के लिए उत्सुक था। मुझे विश्वास है कि मेरे पास एंड्रॉइड एसडीके डाउनलोड का सबसे अपडेट किया गया संस्करण है, निश्चित नहीं कि क्या हुआ क्योंकि मेरे पास यह मुद्दा पिछले सप्ताह नहीं था।

नए मुद्दे

टिप्पणियों में कई संभावित सुधारों का पालन करने के बाद यह एक नई समस्या बन गई है। मैंने एक नए jdk10 के साथ android sdk P, 8, और 7 के नए संस्करण स्थापित किए। अभी भी पर्याप्त रूप से अपडेट नहीं किया गया है।

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

भविष्य के संदर्भों के लिए उपयोगी हो सकता है। मैं विंडोज 10 का उपयोग कर रहा था और मेरे पास जेडीके 11 संस्करण था। जैसा कि ज्यादातर लोगों ने सुझाव दिया था कि मैंने अपने जेडीके को संस्करण 8 में डाउनग्रेड किया था। फिर मैंने निष्पादित किया flutter doctor। यह अभी भी कहा कि लाइसेंस को स्वीकार करने की आवश्यकता है। फिर मैंने दौड़कर सभी लाइसेंस समझौतों के लिए flutter doctor --android-licensesकहा yes। अंत में समस्या दूर हो गई है :)। ले लो दूर JDK 8 के लिए
उन्नयन है

जवाबों:


74

यदि आपने एंड्रॉइड एसडीके को अपडेट किया है, तो लाइसेंस बदल सकते हैं। इस बात पर निर्भर करता है कि आपने जो अपडेट किया था, उसे आप परिवर्तनों को स्वीकार करने के लिए प्रेरित कर सकते हैं या नहीं भी कर सकते हैं, या शायद यह इस तथ्य को नहीं बचाता है कि आपने उन्हें एक तरह से स्वीकार कर लिया था, जिसे आप समझ सकते हैं।

हल करने के लिए, दौड़ने का प्रयास करें

flutter doctor --android-licenses

यह आपको लाइसेंस स्वीकार करने के लिए संकेत देना चाहिए (यह आपको पहले पूछ सकता है, यदि बस टाइप करें yऔर एंटर दबाएं - हालांकि यह आपको यह बताना चाहिए)।

आप अभी भी है कि करने के बाद समस्या है, तो यह या तो में एक नया बग खोलने के लायक हो सकता है स्पंदन Github भंडार , या की तरह एक मौजूदा मुद्दे पर टिप्पणी करते समय इस एक के रूप में यह है कि तुम क्या कर रहे हैं देख सकते हैं।


10
यह बताता है कि Android SDK का एक नया संस्करण आवश्यक है। अपडेट करने के लिए, चलाएं: C: \ Users \ abc \ AndroidSDK \ Tools \ bin \ sdkmanager --update। मुझे क्या करना चाहिए?
हुजैफा आसिफ

@ हुजैफाअसिफ क्या आपने उस कमांड को चलाने की कोशिश की है? इसे उम्मीद से तय करना चाहिए। यदि यह विफल हो जाता है तो आप एक अलग प्रश्न देखना चाहते हैं या इसके बारे में एक नया पूछ सकते हैं।
rmtmckenzie

2
@ हुज़ैफाएसिफ़, मैंने भी इस मुद्दे को दो बार सामना किया, जैसा कि टॉमी सी द्वारा नीचे दिए गए उत्तर में दिया गया है, मैन्युअल रूप से जावा 1.8 को स्थापित करने और इसे बिन फ़ोल्डर में $ JAVA_HOME सेट करने का प्रयास करें, फिर फ़्लटर डॉक्टर --android-लाइसेंस चलाएं और सभी लाइसेंस स्वीकार करें। आशा करता हूँ की ये काम करेगा।
दीपक जोशी

@ हुजैफाएसिफ आपने एसडीके को फिर से कैसे स्थापित किया ... मैं इस त्रुटि में
फंस

बिलकुल चौकन्ना! यह केवल मेरे लिए जावा 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

वर्तमान एसडीके संस्करण जावा 9 के साथ असंगत होने के कारण ऐसा हो रहा है।

तो, इसे हल करने के लिए, आप अपने जावा संस्करण को जावा 8 में डाउनग्रेड कर सकते हैं, या वर्कअराउंड के साथ, आप अपने टर्मिनल पर निम्न विकल्प को निर्यात कर सकते हैं:

लिनक्स:

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

विंडोज :

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

और यह छड़ी बनाने के लिए, आप JAVA_OPTS अपने प्रोफ़ाइल फ़ाइल में लिनक्स (पर निर्यात कर सकते हैं .zshrc, .bashrcऔर आदि) स्थायी रूप से विंडोज पर या एक वातावरण के रूप में जोड़ें।


उसके बाद, आप फ़्लटर या sdkmanager कमांड टाइप कर सकते हैं:

स्पंदन :

flutter doctor --android-licenses

sdkmanager :

sdkmanager --licenses

और लाइसेंस स्वीकार करने के लिए आवश्यक वाई टाइप करें।

ps। यह जावा 11/11 + के लिए काम नहीं करता है, जिसमें जावा ईई मॉड्यूल नहीं है। इस विकल्प के लिए एक अच्छा विचार है, अपने जावा संस्करण को डाउनग्रेड करें या फ़्लटर अपडेट की प्रतीक्षा करें

रेफरी: जेडीके 11: जावा ईई मॉड्यूल के लिए सड़क का अंत


4
एक अन्य विकल्प, यदि आपके पास जावा 11 और 8 दोनों स्थापित हैं, तो जावा को JAVA_HOME बिंदु निर्यात करना है:export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
क्रिस्टियानो

1
मैंने JAVA_HOME को JDK 8 से विंडोज पर एन्वायरमेंट वेरिएबल्स में बदल दिया और इसने काम किया
GabrielBB

2
के रूप java.se.eeमें जावा के नए संस्करणों पर हटा दिया जाता है यह काम नहीं करता है
फनी ऋत्विज

1
आप जावा 11 में ऐसा नहीं कर सकते। आपको जावा 8 स्थापित करना होगा। इस उत्तर को
वाहिद

29

सही समाधान होगा यदि आपके पास Android स्टूडियो स्थापित है तो

  1. SDK प्रबंधक खोलें
  2. एसडीके टूल्स के तहत नीचे स्थित अप्रचलित पैकेजों को अनचेक करें
  3. फिर आपको एक विकल्प देखना चाहिए जिसे कहा जाता है Android SDK Tools (Obsolete)

यहां छवि विवरण दर्ज करें

  1. इसे जांचें और लागू करें और स्टूडियो को पैकेज डाउनलोड करने दें
  2. एक बार कमांड चलाने के बाद flutter doctorऔर इसे अब आपको चलाने के लिए संकेत देना चाहिए flutter doctor --android-licenses जब आप लाइसेंस कमांड चलाते हैं तो y को मारकर सभी लाइसेंस स्वीकार करते हैं और इसे समस्या को हल करना चाहिए

यहां छवि विवरण दर्ज करें


क्या यह शीर्ष उत्तर से अलग है।
tdmiller

1
यह 18 मार्च 2020 तक मैक के लिए वर्तमान आधिकारिक डॉक्स है - देखें flutter.dev/docs/get-started/install/… । यह एक ज्ञात मुद्दा है
यार

1
लिंक के लिए धन्यवाद @ अय्यर को नहीं पता था कि
महेशमंज

15

मैं इसे स्पंदन स्थापित करने में आ रही निराशा के कारण लिख रहा हूं ... अधिकांश मुद्दे सरल कॉन्फ़िगरेशन मुद्दों के कारण होते हैं। अपने मुद्दों को हल करने के लिए इन चरणों का पालन करें।

चरण 1: ANDROID LICENSES --android-लाइसेंस, ज्यादातर मामलों को हल करेगा

जब से आप यहां हैं, आप एंड्रॉइड टूल चेन के लिए "एंड्रॉइड लाइसेंस स्टेटस अनजान" मुद्दे पर पहुंच गए हैं, जैसा कि कई सुझाए गए प्रयास हैं flutter doctor --android-licenses। यदि आप सभी विन्यास के साथ अच्छे हैं। यह एक हाँ के लिए पूछना चाहिए और y और Voila दबाएँ। लेकिन अगर यह दिखाता है कि ए

यहां छवि विवरण दर्ज करेंAndroid sdkmanager टूल नहीं मिला (C\Users\__\local\Android\sdk\tools\bin\sdkmanager)। चरण दो पर जाएं

चरण 2: एंड्रॉइड स्टूडियो से एसडीके प्रबंधक स्थापना

अपने Android स्टूडियो खोलें, File-> settings->System settings(left tab) ->Android SDK,करने के लिए जाना SDK Tool sectionहै कि पेज में, untick छिपाने अप्रचलित संकुल, चयन Android SDL tools(obsolete)और प्रेस लागू होते हैं।

यहां छवि विवरण दर्ज करें यह एसडीके को स्थापित करेगा और आप इस पथ के मौजूद होने पर जाकर जांच कर इसकी पुष्टि करेंगे(C\Users\__\local\Android\sdk\tools\bin\sdkmanager)

चरण 3: 1 को दोहराएं

एक नई कमांड लाइन की जांच में स्थापना के बाद चरण 1 को दोहराएं यदि इसके काम कर रहे हैं, तो STEP 4 पर जाएं

चरण 4: sdkmanager - अद्यतन

यह आपसे sdk को अपडेट करने के लिए कहेगा, बस टर्मिनल में दी गई कमांड को रन करें C\Users\__\local\Android\sdk\tools\bin\sdkmanager --update। अगर यह चल रहा है, तो इसके शांत। इसे चरण 1 को पूरा करने दें और फिर दोहराएं, अगर यह कुछ अपवादों जैसे java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchemaआदि को फेंक रहा है , java_error तो इसका मतलब है कि आपका जावा स्थापित नहीं है या सही संस्करण नहीं है। अगले चरण पर जाएं

चरण 5: जावा 8.1 और JAVA_HOME पथ।

JAVA 8.1 स्थापित करें और JAVA_HOME पथ सेट करें। सुनिश्चित करें कि यह संस्करण 8.1 है (फ्री अकाउंट रजिस्टर करें और 8.1 संस्करण को ऑरेकल से डाउनलोड करें, स्पंदन के लिए 11+ अभ्यस्त काम से ऊपर याद रखें) यहां छवि विवरण दर्ज करें

ध्यान दें : yaniv maymon द्वारा : यदि आपके पास पहले से ही जावा आपके कंप्यूटर पर स्थापित है और sdkmanager --update अभी भी काम नहीं कर रहा है। पर्यावरण चर पर जाएं और jdk फ़ोल्डर में "JAVA_HOME" पथ को अपडेट करें। फिर कमांड प्रॉम्प्ट से बाहर निकलें, इसे फिर से खोलें और अपडेट कमांड चलाएं -

चरण 6: अंतिम चरण

ठीक से पथ स्थापित करने और स्थापित करने के बाद, C\Users\__\local\Android\sdk\tools\bin\sdkmanager --update नए टर्मिनल में कमांड चलाएं और यह काम करेगा

STEP 7: रेरून फ़्लटर डॉक्टर , आप इसे कमांड चलाने के लिए कह सकते हैं flutter doctor --android-licenses। इसलिए flutter doctor --android-licenses टर्मिनल में चलाएं और पूछे जाने पर y दबाएं


यदि आपके पास पहले से ही जावा आपके कंप्यूटर पर स्थापित है और sdkmanager --update अभी भी काम नहीं कर रहा है। पर्यावरण चर पर जाएं और jdk फ़ोल्डर में "JAVA_HOME" पथ को अपडेट करें। फिर कमांड प्रॉम्प्ट से बाहर निकलें, इसे फिर से खोलें और अपडेट कमांड
चलाएं

11

यहाँ मेरी समस्या को हल करने वाले चरण दिए गए हैं:

  1. अपना टर्मिनल खोलें
  2. प्रकार flutter doctor --android-licenses
  3. yस्वीकार करने के लिए दबाएं , यह प्रक्रिया कई बार हो सकती है। किया हुआ!

8

मुझे JDK 8 (आपको अभी डाउनलोड करने के लिए एक खाते की आवश्यकता है) का उपयोग करने के लिए यह समाधान मिला - एंड्रॉइड स्टूडियो के साथ आने वाले एम्बेडेड OpenJDK का उपयोग करें:

इसे अपने ~/.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, और किसी भी अन्य अच्छी तरह से व्यवहार किया स्क्रिप्ट, तो एसडीके के संस्करण का उपयोग करेगा जो एंड्रॉइड स्टूडियो 2.2+ के साथ जहाज करता है।

* मेरा मैक अभी भी डिफ़ॉल्ट जावा 7 का उपयोग कर रहा था।


5

यह भी मेरा मुद्दा # 16025 जैसा ही था

थ्रेड में एक अपवाद के लिए "मुख्य" java.lang.NoClassDefFoundError: javax / xml / bind / annotation / XmlSchema यह समस्या आमतौर पर तब होती है जब आपने पहले जावा को स्थापित किया था। BTW यह android-sdk के साथ संगत नहीं है अगर अभी भी मौजूद है तो Java 9 JDK को हटाने की कोशिश करें।

सामान्य तौर पर JAXB एपीआई को जावा ईई एपीआई माना जाता है, और इसलिए अब जावा एसई 9 में डिफ़ॉल्ट वर्ग पथ पर समाहित नहीं किया गया है। जावा 9 मॉड्यूल की अवधारणाओं का परिचय देता है, और डिफ़ॉल्ट रूप से java.se कुल मॉड्यूल वर्ग पर उपलब्ध है पथ (या बल्कि, मॉड्यूल पथ)। जैसा कि नाम से ही स्पष्ट है, java.se एग्रीगेट मॉड्यूल में जावा ईई एपीआई शामिल नहीं है जो परंपरागत रूप से जावा 6/7/8 के साथ बंडल किया गया है। सौभाग्य से, ये जावा ईई एपीआई जो JDK 6/7/8 में प्रदान किए गए थे, अभी भी JDK में हैं, लेकिन वे डिफ़ॉल्ट रूप से वर्ग पथ पर नहीं हैं। अतिरिक्त जावा ईई एपीआई निम्नलिखित मॉड्यूल में प्रदान किए जाते हैं

यदि आपके पास 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. अपने Android SDK स्थान C: \ Users% उपयोगकर्ता% \ AppData \ Local \ Android \ Sdk \ Tools \ bin या ~ / लाइब्रेरी / Android / sdk / उपकरण / बिन पर जाएं

  3. कमांड चलाएँ: /। Sdkmanager --license

संदर्भ

जावा 9 के साथ sdkmanager --list (Android SDK) चलाने में विफल

Java.lang.NoClassDefFoundError कैसे हल करें: जावा 9 में javax / xml / bind / JAXBException


मैंने कोशिश की कि समाधान तब से फ़ाइल को थोड़ा बदला हुआ लगता है, लेकिन मैंने अभी भी संशोधनों को आवश्यक बना दिया है लेकिन फिर भी कोई भाग्य नहीं है। मुझे लगता है कि मैं बाद में एक अपडेट की उम्मीद करूंगा जो इसे ठीक करता है क्योंकि मैं अभी भी एप्लिकेशन चला सकता हूं। वैसे भी शुक्रिया!
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. जावा एसडीके ढूंढें, और संस्करण इंस्टॉल करना चाहते हैं

    $ 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


रुकें! जावा 8.0.192-ज़ुलु उपलब्ध नहीं है। संभावित कारण: * 8.0.192-ज़ुलु एक अमान्य संस्करण है * जावा बायनेरिज़ डार्विन के साथ असंगत हैं * जावा अभी तक जारी नहीं किया गया है
होश मर्करी

4

बस एंड्रॉयड स्टूडियो में एसडीके कमांड लाइन टूल (नवीनतम) स्थापित करें। यहां छवि विवरण दर्ज करें


यह मेरे द्वारा भी याद किया गया था :) बहुत बहुत धन्यवाद
अभिषेक थपलियाल

1
मुझे ऐसा करने से पहले दौड़ना थाflutter doctor --android-licenses
14

3

MacOS 10.15: एंड्रॉइड स्टूडियो 3.5.1:

मेरे लिए काम करने वाला समाधान जावा पर्यावरण उपकरण jenv ( होमब्रे के माध्यम से स्थापित ) का उपयोग करना था । जब जावा संस्करणों के बीच एक स्विच होता है तो यह टूल $ JAVA_HOME बदल देता है ।

मेरे मामले में मेरे पास कई जावा संस्करण स्थापित हैं और उपयोग में वर्तमान वैश्विक संस्करण डिफ़ॉल्ट था। मुझे इस टूल का उपयोग करते समय $ JAVA_HOME पर्यावरण चर में टिप्पणी करना भी आवश्यक लगा .bash_profile

टर्मिनल में, मैंने jenv global 1.8बाद के संस्करण के बजाय जावा 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/

तो यहाँ समाधान, अपने एसडीके प्रबंधक खोलें फिर अनचेक करें Hide Obsolete Packages

यहां छवि विवरण दर्ज करें

अब आप देखेंगे Android SDK Tools (Obsolete) 26.1.1। उस पैकेज को टिक करें और apply buttonफिर ओके बटन को हिट करें। यह एसडीके डाउनलोड करेगा। फिर restartएंड्रॉइड स्टूडियो

अच्छा, अब यदि आप दौड़ते हैं 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जब पूछा जाए तो वाई चलाएं और दर्ज करें

अगर जरूरत हो तो हम यहां मैन्युअल रूप से पैकेज डाउनलोड कर सकते हैं https://dl.google.com/android/repository/sdk-tools-windows-4333796.zip (विंडोज उपयोगकर्ता के लिए)। उम्मीद है कि यह ट्यूटोरियल उन लोगों की मदद करेगा जो समाधान की तलाश कर रहे हैं


यह वास्तव में मेरी मदद करता है :)
कहो ओएल

2

आप में से उन लोगों के लिए जो लिनक्स पर हैं और दौरान त्रुटियां करते रहते हैं flutter doctor --android-licenses

मैं लाइसेंस स्वीकार करने की कोशिश करते समय सेटिंग्स चेतावनी नहीं बना सकता था , जिसे मैंने एसडीके स्थान निर्दिष्ट करके तय किया था:

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

Sdkmanager तो मुद्रित: सभी एसडीके पैकेज लाइसेंस स्वीकार किए जाते हैं।

हालाँकि फ़्लटर ने एंड्रॉइड लाइसेंस की स्थिति को अज्ञात त्रुटि दी। और कॉल करने का प्रयास करने से flutter doctor --android-licensesमुझे वही मिलेगा जो सेटिंग त्रुटि मैं नहीं कर सकता था

इसे ठीक करने के लिए मैंने $ {आपके एंड्रॉइड टूल्स लोकेशन} / टूल्स / बिन / sdkmanagerमें स्थित स्क्रिप्ट को संपादित किया और अंतिम पंक्ति को इसमें से बदल दिया:

exec "$JAVACMD" "$@"

सेवा:

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

इस flutter doctor --android-licensesसमस्या को ठीक करने के लिए अंतिम sdk_root तर्क को पारित करते समय फ़्लटर कॉल sdkmanager बना देगा ।

मुझे जावा 8 का उपयोग नहीं करना था।


आपके उत्तर के लिए धन्यवाद, इसने मेरा मुद्दा ठीक कर दिया। मुझे समझ नहीं आता कि किसी ने इसे क्यों ठुकरा दिया। फिर से धन्यवाद।
marijnz0r

इंटरनेट पर एकमात्र समाधान जो मेरे लिए काम करता है! धन्यवाद दोस्त! :)
पुनीता ओझा

1

फ़्लटर SDK रूट फ़ोल्डर से flutter_console.bat फ़ाइल खोलें और कमांड चलाएँ

flutter doctor --android-licenses

यह एंड्रॉइड एसडीके के नए डाउनलोड किए गए अपडेट के लाइसेंस को स्वीकार करेगा। जब भी आप डाउनलोड करें और Android एसडीके को अपडेट करें तो आपको इसे हर बार चलाने की आवश्यकता है।


1

अपने जावा संस्करण को अपग्रेड करने का प्रयास करें , यह तब होगा जब आपका सिस्टम जावा संस्करण Android से एक के साथ संगत नहीं है। एक बार जब आपने आपको जावा संस्करण बदल दिया तो बस flutter doctorइसे चलाएं यह स्वचालित रूप से लाइसेंस स्वीकार कर लेगा।


1

मैंने अपने जावा संस्करण को 1.8 पर डाउनग्रेड किया और इसका समाधान किया, यहां JDK8 डाउनलोड करने के लिए लिंक है

JDK8 को स्थापित करने के बाद निम्न कमांड चलाएँ

   flutter doctor --android-licenses

1

मेरा वातावरण: विंडोज 10 64 बिट, ओपनजेडके 14.0.2

प्रारंभिक त्रुटियां ऊपर बताई गई हैं।

त्रुटि के बाद हल किया गया था

  1. बदला गया " C: <इंस्टॉलेशन-फोल्डर> \ Openjdk-14.0.2_windows-x64_bin \ jdk-14.0.2 " के साथ " चर : \ Program Files \ Android \ Android Studio \ jre * " परिवेश चर में PATH & JAVA_HOME
  2. हड़बड़ाहट में भागे हुए डॉक्टर - प्रोन्ड्रोइड्स-लायसेंस और प्रॉम्प्ट के लिए चयनित वाई



0
  1. Android स्टूडियो खोलें।
  2. File-> Settings में जाएं।
  3. के लिए खोजें AndroidSDK
  4. अपने एपीआई स्तर को नवीनतम संस्करण में अपडेट करें।
  5. फिर एंड्रॉइड स्टूडियो को फिर से लोड करें।

0

किसी के लिए जो अभी भी इस मुद्दे का सामना कर रहा है :
जैसा कि टॉमी सी, अबा और कुछ अन्य लोगों द्वारा नीचे उत्तर दिया गया है, लेकिन यह स्पष्ट नहीं हो सकता है क्योंकि मैंने इसे पाया था। खिड़कियों / लाइनक्स पर यहां बताए अनुसार जावा 1.8 को मैन्युअल रूप से
स्थापित करने का प्रयास करें : [ https://www3.ntu.edu.sg/home/ehchua/programming/howto/JDK_Howto.html] और $ $AVA_HOME चर (jdk पथ) सेट करना। विंडोज़ पर jdk पथ ($ JAVA_HOME) सेट करें : [ विंडोज 7 पर java_home कैसे सेट करें? । Linux पर: [ /ubuntu/175514/how-to-set-java-home-for-java] । फिर चलाएं और सभी लाइसेंस स्वीकार करें। आशा करता हूँ की ये काम करेगा।



flutter doctor --android-licenses


0

मुझे यह समाधान मिला। मैं JDK 8. डाउनलोड करता हूं जब मैं पर्यावरण चर में उपयोगकर्ता चर में JAVA_HOME की jdk फ़ाइल पथ नाम को डाउनलोड करता हूं।


0

मैंने उसी समस्या का सामना किया, जैसा कि ऊपर बताया गया है, मैंने ये कोशिश की।

  1. स्थापित JDK 1.8 और मेरे JAVA_HOME env को 1.8 पर सेट करें - यह काम नहीं किया
  2. मेरे एंड्रॉइड स्टूडियो ने "एंड्रॉइड एसडीके टूल्स (अप्रचलित)" नहीं दिखाया लेकिन उसके पास "एंड्रॉइड एसडीके टूल्स" था

इसी से मेरा काम बना है:

  1. एसडीके प्रबंधक से "एंड्रॉइड एसडीके टूल्स" हटाएं
  2. पहले "छिपाए गए अप्रचलित पैकेज" को हटाकर इसे फिर से इंस्टॉल करें और फिर "एंड्रॉइड एसडीके टूल्स (अप्रचलित)" का चयन करें, इसे स्थापित करें।
  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

यदि आप homebrew पीपा का उपयोग करते हैं , तो आप कर सकते हैं

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

के लिए विंडोज लोग एक अल्पकालिक समाधान JDK8 में डाउनग्रेड करने का है। उम्मीद है कि फ़्लर्ट जल्द ही एंड्रॉइड एसडीके के लिए> 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. उपकरण पर जाएं, फिर एसडीके प्रबंधक, फिर एंड्रॉइड एसडीके पर क्लिक करें।
  2. एसडीके अपडेट साइट्स टैब पर क्लिक करें।
  3. https: //..sources का उपयोग करने वाले चेकबॉक्स को देखें: https: // का उपयोग करके।
  4. क्लिक करें लागू करें और ठीक है।
  5. अब एंड्रॉइड स्टूडियो को पुनरारंभ करें।
  6. एसडीके टूल पर जाएं और अप्रचलित पैकेज छिपाएं चेकबॉक्स की जांच करें।
  7. पैकेज दिखाई देने पर लगभग एक मिनट तक प्रतीक्षा करें।
  8. फिर एक पैकेज चुनें जिसे "एंड्रॉइड एसडीके टूल (अप्रचलित) कहा जाता है, और ठीक दबाएं।
  9. पैकेज स्थापित करना जारी रखें।
  10. स्थापना के बाद android स्टूडियो को पुनरारंभ करें और cmd को भी पुनरारंभ करें, फिर फ़्लटर चिकित्सक चलाएं।
  11. इसमें कुछ मिनट लगेंगे और इसे काम करना चाहिए

-1

चेतावनी : यह उत्तर उपयोगी है यदि आपको JAVA_HOME पर्यावरण चर और उस की दिशा में समस्या है। यदि आपके पास यह समस्या नहीं है, तो आपको इस समाधान की कोशिश नहीं करनी चाहिए।

यदि आपके पास यह त्रुटि है और आपने स्पंदन चिकित्सक --android-लाइसेंस या sdkmanager --licenses के साथ प्रयास किया और आपको अपने JAVA_HOME पर्यावरण चर के साथ कोई समस्या मिली, तो आपको इसे पढ़ना होगा।

मेरे पास एक MacOS कैटालिना चींटी है मैं इस समस्या को अगले चरणों के साथ सफलतापूर्वक हल कर सकता हूं:

  1. अपना टर्मिनल खोलें
  2. प्रकार: खुले -b.bash_profile (आपको लगभग दो पर्यावरण चर देखना चाहिए: स्पंदन और JAVA_HOME)
  3. यदि आप चाहें तो एक TextEdit फ़ाइल में JAVA_HOME पर्यावरण चर को वहां सहेजें और JAVA_HOME पर्यावरण चर को DELETE करें। Bash_profile को सहेजें।
  4. फिर से टर्मिनल पर जाएं और स्रोत $ HOME / .bash_profile चलाएं
  5. फिर से फड़फड़ाने की कोशिश करें डॉक्टर और आपको एक ही त्रुटि नहीं दिखनी चाहिए।

कृपया, मुझे बताएं कि क्या आपको संदेह है।


-1

यहाँ मैंने अपना मुद्दा ठीक करने के लिए क्या किया। कृपया ध्यान दें कि, आपको Android Studio / SDK की अपनी पुरानी प्रति की स्थापना रद्द करने की आवश्यकता नहीं है। Android स्टूडियो इस बात का ध्यान रखेगा कि आप नवीनतम संस्करण स्थापित कर रहे हैं।

  1. Android Studio का नवीनतम संस्करण डाउनलोड और इंस्टॉल करें
  2. इस ट्यूटोरियल में निर्देशों का पालन करें
  3. एक बार स्थापना पूर्ण हो जाने के बाद, स्पंदन चिकित्सक चलाएं और जांच करें, आपका मुद्दा हल हो जाना चाहिए था। यदि समस्या हल हो गई है, तो फ़्लटर डॉक्टर को चलाने की कोई आवश्यकता नहीं है --android- लाइसेंस कमांड।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.