Trạng thái giấy phép của Flutter.io Android không xác định


85

[!] Chuỗi công cụ Android - phát triển cho các thiết bị Android (Android SDK 27.0.3)

• Android SDK a .. \ Android \ sdk • Vị trí NDK của Android chưa được định cấu hình (tùy chọn; hữu ích cho hỗ trợ cấu hình gốc) • Nền tảng android-27, công cụ xây dựng 27.0.3 • Java nhị phân tại: C: \ Program Files \ Android \ Android Studio \ jre \ bin \ java • Phiên bản Java OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02) X Trạng thái giấy phép Android không xác định.

Tôi gặp lỗi với Android Sdk khi chạy bác sĩ Flutter, mặc dù tôi vẫn có thể xây dựng / chạy trên thiết bị của mình. Tôi chỉ tò mò về cách khắc phục sự cố này. Tôi tin rằng tôi đã tải xuống phiên bản sdk android cập nhật nhất, không chắc điều gì đã xảy ra vì tôi không gặp sự cố này vào tuần trước.

Vấn đề mới

Sau khi làm theo một số bản sửa lỗi có thể có trong các nhận xét, nó đã dẫn đến một vấn đề mới. Tôi đã cài đặt các phiên bản mới hơn của android sdk P, 8 và 7 cùng với jdk10 mới. Vẫn chưa cập nhật đủ rõ ràng.

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 - cập nhật

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

Có thể hữu ích cho một tài liệu tham khảo trong tương lai. Tôi đang sử dụng Windows 10 và tôi đã có phiên bản JDK 11. Theo đề xuất của hầu hết mọi người, tôi đã hạ cấp JDK của mình xuống phiên bản 8. Sau đó, tôi thực hiện flutter doctor. Nó vẫn cho biết giấy phép cần được chấp nhận. Sau đó, tôi chạy flutter doctor --android-licensesvà nói yescho tất cả các thỏa thuận cấp phép. Cuối cùng thì vấn đề cũng không còn nữa :). Take away đang hạ cấp xuống JDK 8 sẽ khắc phục sự cố
Gihanmu

Câu trả lời:


74

Nếu bạn đã cập nhật SDK android, giấy phép có thể đã thay đổi. Tùy thuộc vào cách bạn thực hiện cập nhật, bạn có thể có hoặc không được nhắc chấp nhận các thay đổi, hoặc có thể nó không lưu thực tế là bạn đã chấp nhận chúng theo cách mà bạn có thể hiểu được.

Để giải quyết, hãy thử chạy

flutter doctor --android-licenses

Điều này sẽ nhắc bạn chấp nhận giấy phép (nó có thể hỏi bạn trước, trong trường hợp chỉ cần nhập yvà nhấn enter - mặc dù nó sẽ cho bạn biết điều đó).

Nếu bạn vẫn gặp sự cố sau khi thực hiện việc đó, bạn nên mở một lỗi mới trong kho lưu trữ Flutter Github hoặc thêm nhận xét về một vấn đề hiện có như vấn đề này vì nó có thể là những gì bạn đang gặp phải.


10
Nó cho tôi biết Cần có phiên bản Android SDK mới hơn. Để cập nhật, hãy chạy: C: \ Users \ abc \ AndroidSDK \ tools \ bin \ sdkmanager - cập nhật. Tôi nên làm gì?
Huzaifa Asif

@HuzaifaAsif bạn đã thử chạy lệnh đó chưa? Nó hy vọng sẽ khắc phục được sự cố. Nếu nó không thành công thì bạn có thể muốn tra cứu một câu hỏi khác hoặc hỏi một câu hỏi mới về nó.
rmtmckenzie 22/10/19

2
@HuzaifaAsif, tôi cũng đã gặp phải vấn đề này vài lần, Như đã trả lời bên dưới bởi Tommie C, Hãy thử cài đặt java 1.8 theo cách thủ công và đặt $ JAVA_HOME thành thư mục bin của nó, sau đó chạy flashing doctor --android-License và chấp nhận tất cả các giấy phép. Hy vọng nó giúp.
Deepak Joshi

@HuzaifaAsif cách bạn cài đặt lại SDK ... Tôi gặp lỗi này vì tôi đang sử dụng Android Studio phiên bản 3.6
Mahmoud Harooney

Chỉ cần một cái nhìn lên! Điều này chỉ hoạt động đối với tôi khi sử dụng Java 8.
Lucas Saldanha

48

Lỗi:

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

đang xảy ra do phiên bản SDK hiện tại không tương thích với Java 9.

Vì vậy, để giải quyết vấn đề này, bạn có thể hạ cấp phiên bản java của mình xuống Java 8 hoặc với một giải pháp khác, bạn có thể xuất tùy chọn sau trên thiết bị đầu cuối của mình:

Linux:

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

Windows :

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

Và để làm cho nó dính, bạn có thể xuất JAVA_OPTS trong tập tin cá nhân của bạn trên Linux ( .zshrc, .bashrcvà vv) hoặc thêm như một môi trường vĩnh viễn trên Windows.


Sau đó, bạn có thể gõ lệnh flaming hoặc sdkmanager:

Rung động :

flutter doctor --android-licenses

sdkmanager :

sdkmanager --licenses

và gõ Y khi cần để chấp nhận giấy phép.

ps. Điều này không hoạt động đối với Java 11/11 +, vốn không có các mô-đun Java EE. Đối với tùy chọn này, bạn nên hạ cấp phiên bản Java của mình hoặc đợi bản cập nhật Flutter .

Tham khảo: JDK 11: Kết thúc chặng đường cho các mô-đun Java EE


4
một tùy chọn khác, nếu bạn đã cài đặt cả java 11 và 8, là xuất điểm JAVA_HOME sang java8:export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
Cristiano

1
Tôi đã thay đổi JAVA_HOME thành JDK 8 trong Biến môi trường trên Windows và nó hoạt động
GabrielBB

2
điều này không làm việc như java.se.eeđược lấy ra trên các phiên bản mới hơn của java
Phani Rithvij

1
Bạn không thể làm điều đó trong Java 11. Bạn phải cài đặt Java 8. Xem câu trả lời này
Vahid

29

Giải pháp phù hợp sẽ là nếu bạn đã cài đặt android studio sau đó

  1. mở trình quản lý SDK
  2. trong công cụ SDK, bỏ chọn ẩn các gói lỗi thời ở dưới cùng
  3. thì bạn sẽ thấy một tùy chọn được gọi là Android SDK Tools (Obsolete)

nhập mô tả hình ảnh ở đây

  1. kiểm tra nó và áp dụng và để studio tải xuống gói
  2. sau khi hoàn tất, hãy chạy lệnh flutter doctorvà bây giờ nó sẽ nhắc bạn chạy flutter doctor --android-licenses khi bạn chạy lệnh cấp phép chấp nhận tất cả các giấy phép bằng cách nhấn vào y và nó sẽ giải quyết được vấn đề

nhập mô tả hình ảnh ở đây


Điều này có khác với câu trả lời hàng đầu.
tdmiller

1
đây chính xác là tài liệu chính thức hiện tại dành cho Mac kể từ ngày 18 tháng 3 năm 2020 - hãy xem flut.dev/docs/get-started/install/… . Đó là một vấn đề đã biết .
yair

1
Cảm ơn vì liên kết @yair không biết điều đó
maheshmnj

15

Tôi viết thư này vì sự thất vọng trong việc cài đặt chập chờn ... Hầu hết các vấn đề là do các vấn đề cấu hình đơn giản. Làm theo các bước sau để giải quyết vấn đề của bạn.

BƯỚC 1: ANDROID LICENSES --android-License, sẽ giải quyết hầu hết các trường hợp

Vì bạn đang ở đây, bạn đã gặp phải vấn đề "Trạng thái giấy phép Android không xác định" cho chuỗi công cụ Android, như nhiều người đề xuất hãy thửflutter doctor --android-licenses . Nếu bạn tốt với tất cả các cấu hình. Nó sẽ yêu cầu đồng ý và nhấn y và Thì đấy. Nhưng nếu nó cho thấy một

nhập mô tả hình ảnh ở đâyKhông tìm thấy công cụ sdkmanager của Android (C\Users\__\local\Android\sdk\tools\bin\sdkmanager) . Đi đến bước hai

BƯỚC 2: Cài đặt Trình quản lý SDK từ Android Studio

Mở Android Studio của bạn, File-> settings->System settings(left tab) ->Android SDK,truy cập SDK Tool sectionvào trang đó, bỏ chọn ẩn các gói lỗi thời, chọn Android SDL tools(obsolete)và nhấn áp dụng.

nhập mô tả hình ảnh ở đây Nó sẽ cài đặt SDK và bạn xác nhận nó bằng cách đi và kiểm tra xem đường dẫn này có tồn tại không(C\Users\__\local\Android\sdk\tools\bin\sdkmanager)

BƯỚC 3: Lặp lại 1

Lặp lại bước 1 sau khi cài đặt trong một dòng lệnh mới, kiểm tra xem dòng lệnh của nó có hoạt động không, nếu không, hãy chuyển sang BƯỚC 4

BƯỚC 4: sdkmanager - cập nhật

Nó sẽ yêu cầu bạn cập nhật sdk, chỉ cần chạy lệnh được đưa ra trong thiết bị đầu cuối C\Users\__\local\Android\sdk\tools\bin\sdkmanager --update. Nếu nó đang chạy, thì nó tuyệt. hãy để nó kết thúc và lặp lại bước 1, nếu không, nếu nó đang ném một số ngoại lệ như java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchemav.v., java_error điều đó có nghĩa là java của bạn chưa được cài đặt hoặc không phải là phiên bản chính xác. Chuyển sang bước tiếp theo

BƯỚC 5: JAVA 8.1 và đường dẫn JAVA_HOME.

Cài đặt JAVA 8.1 và đặt đường dẫn JAVA_HOME. Đảm bảo đó là phiên bản 8.1 (đăng ký tài khoản miễn phí và tải xuống từ oracle phiên bản 8.1, hãy nhớ ở trên 11+ sẽ không hoạt động vì rung nhập mô tả hình ảnh ở đây

LƯU Ý : bởi yaniv maymon: nếu bạn đã cài đặt Java trên máy tính của mình và sdkmanager - cập nhật vẫn không hoạt động. đi đến biến môi trường và cập nhật đường dẫn "JAVA_HOME" vào thư mục jdk. sau đó thoát khỏi dấu nhắc lệnh, mở lại và chạy lệnh cập nhật -

BƯỚC 6: Bước cuối cùng

Sau khi cài đặt và thiết lập đường dẫn đúng cách, hãy chạy C\Users\__\local\Android\sdk\tools\bin\sdkmanager --update lệnh trong thiết bị đầu cuối mới và nó sẽ hoạt động

BƯỚC 7: Chạy lại bác sĩ rung , Bạn có thể thấy nó thông báo chạy lệnh flutter doctor --android-licenses. vì vậy hãy chạy flutter doctor --android-licenses trong thiết bị đầu cuối và nhấn y khi được hỏi


nếu bạn đã cài đặt Java trên máy tính của mình và sdkmanager - cập nhật vẫn không hoạt động. đi đến biến môi trường và cập nhật đường dẫn "JAVA_HOME" vào thư mục jdk. sau đó thoát khỏi dấu nhắc lệnh, mở lại và chạy lệnh cập nhật
yaniv maymon

11

Dưới đây là các bước giải quyết vấn đề của tôi:

  1. Mở thiết bị đầu cuối của bạn
  2. kiểu flutter doctor --android-licenses
  3. nhấn yđể chấp nhận, quá trình này có thể xảy ra nhiều lần. Làm xong!

8

Tôi đã tìm thấy giải pháp này cho việc phải sử dụng JDK 8 (bạn cần có tài khoản để tải xuống ngay bây giờ!) - sử dụng OpenJDK được nhúng đi kèm với Android Studio:

Thêm cái này vào của bạn ~/.profilehoặc cái tương tự:

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

Các bản dựng dòng lệnh gradlewvà bất kỳ tập lệnh hoạt động tốt nào khác, sau đó sẽ sử dụng phiên bản SDK đi kèm với Android Studio 2.2+.

* Máy Mac của tôi vẫn sử dụng Java 7 mặc định.


5

Đây cũng là vấn đề của tôi giống như # 16025

Đối với một Ngoại lệ trong luồng "main" java.lang.NoClassDefFoundError: javax / xml / bind / annotation / XmlSchema Sự cố này dường như thường xảy ra khi bạn đã cài đặt Java 9 trước đó. BTW nó không tương thích với android-sdk, hãy thử gỡ bỏ Java 9 JDK nếu vẫn tồn tại.

Nói chung, các API JAXB được coi là các API Java EE và do đó không còn được chứa trên đường dẫn lớp mặc định trong Java SE 9. Java 9 giới thiệu các khái niệm về mô-đun và theo mặc định, mô-đun tổng hợp java.se có sẵn trên lớp. đường dẫn (hay đúng hơn là đường dẫn mô-đun). Như tên của nó, mô-đun tổng hợp java.se không bao gồm các API Java EE đã được đóng gói theo truyền thống với Java 6/7/8. May mắn thay, các API Java EE này được cung cấp trong JDK 6/7/8 vẫn nằm trong JDK, nhưng chúng không nằm trên đường dẫn lớp theo mặc định. Các API Java EE bổ sung được cung cấp trong các mô-đun sau

Giải pháp khắc phục sự cố nếu bạn đã cài đặt Java9 / 10

  1. Mở sdkmanager trong trình chỉnh sửa của bạn.
  2. Nối DEFAULT_JVM_OPTS

Thay thế

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

Với cái này

DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
  1. Lưu tệp và thoát khỏi trình chỉnh sửa, sau đó thử chạy lại lệnh.

Đối với vấn đề không xác định về trạng thái giấy phép Android, tôi đã cố gắng giải quyết bằng các bước sau:

  1. Mở một thiết bị đầu cuối
  2. Đi tới vị trí SDK Android của bạn C: \ Users% user% \ AppData \ Local \ Android \ Sdk \ tools \ bin hoặc ~ / Library / Android / sdk / tools / bin

  3. Chạy lệnh: ./sdkmanager --license

Người giới thiệu

Không chạy được sdkmanager --list (Android SDK) với Java 9

Cách giải quyết java.lang.NoClassDefFoundError: javax / xml / bind / JAXBException trong Java 9


Tôi đã thử giải pháp đó, tệp dường như đã thay đổi một chút kể từ đó nhưng tôi vẫn thực hiện các sửa đổi cần thiết nhưng vẫn không thành công. Tôi nghĩ rằng tôi sẽ chỉ hy vọng bản cập nhật sau đó sẽ sửa lỗi này vì tôi vẫn có thể chạy ứng dụng. Dù sao cũng cảm ơn bạn!
tdmiller

4

Dòng này được cung cấp trên cộng đồng sự cố GitHub đã khắc phục sự cố của tôi, đây chỉ là trường hợp nó giúp ích cho bất kỳ ai khác.

@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

đây là giải pháp của tôi:

  1. cài đặt SDKMan

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

  2. thiết lập bash_profile của bạn

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

    $ source ~/.bash_profile

  3. tìm java sdk và chọn muốn cài đặt phiên bản

    $ sdk ls java

    $ sdk install java 8.0.192-zulu

  4. sao chép thông báo cảnh báo bác sĩ rung động của bạn để cập nhật sdkmanager

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

  5. sau 1 ~ 4, làm lại

    $ flutter doctor --android-licenses


Dừng lại! java 8.0.192-zulu không khả dụng. Nguyên nhân có thể xảy ra: * 8.0.192-zulu là phiên bản không hợp lệ * nhị phân java không tương thích với Darwin * java chưa được phát hành
Hos Mercury

4

Chỉ cần cài đặt công cụ dòng lệnh sdk (mới nhất) bên dưới trong android studio. nhập mô tả hình ảnh ở đây


điều này cũng bị tôi bỏ qua :) Cảm ơn rất nhiều
Abhishek Thapliyal

1
Tôi phải làm điều này trước khi chạyflutter doctor --android-licenses
geg

3

MacOS 10.15: Android Studio 3.5.1:

Giải pháp phù hợp với tôi là sử dụng công cụ Môi trường Java jenv (được cài đặt qua homebrew ). Công cụ này thay đổi $ JAVA_HOME khi chuyển đổi giữa các phiên bản java.

Trong trường hợp của tôi, tôi đã cài đặt nhiều phiên bản Java và phiên bản toàn cầu hiện tại đang được sử dụng là phiên bản mặc định. Tôi cũng thấy cần phải nhận xét biến môi trường $ JAVA_HOME trong của tôi .bash_profilekhi sử dụng công cụ này.

Trong Terminal, tôi đã nhập jenv global 1.8để chạy java 1.8 thay vì phiên bản mới hơn (tôi đã cài đặt nhiều phiên bản).

Sau đó:

flutter doctor --android-licenses

HOẶC LÀ

sdkmanager --licenses

cả hai đều hoạt động tốt.

Lưu ý: Bạn có thể phải thoát và mở lại Terminal shell nếu bạn phải xác định lại biến môi trường $ JAVA_HOME.


3

Tham khảo-- https://robbinespu.gitlab.io/blog/2020/03/03/flutter-issue-fixed-android-license-status-unknown-on-windows/

Vì vậy, đây là giải pháp, hãy mở trình quản lý SDK của bạn sau đó bỏ chọn Hide Obsolete Packages

nhập mô tả hình ảnh ở đây

Bây giờ bạn sẽ thấy Android SDK Tools (Obsolete) 26.1.1xuất hiện. Đánh dấu vào gói đó và nhấn apply buttonnút ok. nó sẽ tải sdk. sau đórestart Android studio

Tốt, bây giờ nếu bạn chạy flutter doctor, bạn sẽ nhận được kết quả khả quan như dưới đây

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...

Chạy flutter doctor --android-licenses và nhập Y khi được hỏi

nếu cần, chúng tôi có thể tải xuống gói theo cách thủ công tại đây https://dl.google.com/android/repository/sdk-tools-windows-4333796.zip (dành cho người dùng Windows). Hy vọng hướng dẫn này sẽ giúp những người đang tìm kiếm giải pháp


Điều này thực sự giúp tôi :)
Nói CV

2

Đối với những bạn đang sử dụng Linux và liên tục gặp lỗi trong quá trình này flutter doctor --android-licenses.

Tôi tiếp tục nhận được cảnh báo không thể tạo cài đặt khi cố gắng chấp nhận giấy phép, điều này tôi đã khắc phục bằng cách chỉ định vị trí SDK:

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

Sdkmanager sau đó được in: tất cả các giấy phép gói SDK đều được chấp nhận.

Tuy nhiên Flutter liên tục đưa ra lỗi không xác định trạng thái giấy phép Android . Và cố gắng gọi flutter doctor --android-licensessẽ cho tôi cùng một không thể tạo cài đặt lỗi mà tôi đã từng mắc phải.

Để khắc phục điều này, tôi đã chỉnh sửa tập sdkmanagerlệnh nằm trong $ {your android tools location} / tools / bin / và thay đổi dòng cuối cùng từ:

exec "$JAVACMD" "$@"

Đến:

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

Điều này sẽ khiến Flutter gọi sdkmanager trong khi truyền đối số sdk_root cần thiết, một lệnh gọi cuối cùng để flutter doctor --android-licenseskhắc phục sự cố.

Tôi không phải sử dụng Java 8.


Cảm ơn bạn đã trả lời, điều này đã khắc phục sự cố của tôi. Tôi không hiểu tại sao ai đó lại từ chối nó. Cám ơn bạn một lần nữa.
marijnz0r

Giải pháp duy nhất trên Internet phù hợp với tôi! Cảm ơn cậu! :)
Punita Ojha

1

mở tệp flay_console.bat từ thư mục gốc SDK flamingo và chạy lệnh

flutter doctor --android-licenses

nó sẽ chấp nhận giấy phép của các bản cập nhật Android SDK mới được tải xuống. Bạn cần chạy nó bất cứ khi nào bạn tải xuống và cập nhật Android SDK.


1

Hãy thử hạ cấp phiên bản java của bạn , điều này sẽ xảy ra khi phiên bản java hệ thống của bạn không tương thích với phiên bản từ android. Sau khi bạn thay đổi phiên bản java vừa chạy, flutter doctornó sẽ tự động chấp nhận các giấy phép.


1

Tôi đã hạ cấp phiên bản Java của mình xuống 1.8 và nó đã được giải quyết, đây là liên kết để tải xuống JDK8

Chạy lệnh sau sau khi cài đặt JDK8

   flutter doctor --android-licenses

1

Môi trường của tôi: Windows 10 64bit, OpenJDK 14.0.2

Các lỗi ban đầu như đã báo cáo ở trên.

Lỗi đã được giải quyết sau khi

  1. Đã thay thế " C: <installation-folder> \ openjdk-14.0.2_windows-x64_bin \ jdk-14.0.2 " bằng "* C: \ Program Files \ Android \ Android Studio \ jre * " trong biến môi trường PATH & JAVA_HOME
  2. đã chạy bác sĩ - giấy phép Android và chọn y cho lời nhắc

1

Trong trường hợp của tôi, vấn đề bị thiếu Android SDK Command-line tools

nhập mô tả hình ảnh ở đây


0

Cùng một vấn đề với tôi, hãy kiểm tra phiên bản java của bạn ít nhất nó phải là 1.8


0
  1. Mở Android Studio.
  2. Đi tới Tệp-> Cài đặt.
  3. Tìm kiếm AndroidSDK.
  4. Cập nhật Cấp độ API của bạn lên phiên bản mới nhất.
  5. Sau đó tải lại Android Studio.

0

Đối với một người vẫn đang đối mặt với vấn đề :
Như đã trả lời bên dưới bởi Tommie C, Aba và một số người khác, nhưng có thể không đủ rõ ràng như tôi đã tìm thấy.
Thử cài đặt java 1.8 theo cách thủ công như được mô tả tại đây trên windows / linux: [ https://www3.ntu.edu.sg/home/ehchua/programming/howto/JDK_Howto.html]
và đặt biến $ JAVA_HOME (đường dẫn jdk).
Trên windows đặt đường dẫn jdk ($ JAVA_HOME): [ Làm thế nào để đặt java_home trên Windows 7? .
Trên linux: [ /ubuntu/175514/how-to-set-java-home-for-java] .
Sau đó chạy flutter doctor --android-licensesvà chấp nhận tất cả các giấy phép. Hy vọng nó giúp.


0

Tôi đã tìm thấy giải pháp này. Tôi tải xuống JDK 8. Sau đó, tôi thêm tải xuống tên đường dẫn tệp jdk của JAVA_HOME vào các biến người dùng trong biến môi trường.


0

Tôi phải đối mặt với cùng một vấn đề, như đã đề cập ở trên, tôi đã thử những thứ này.

  1. Đã cài đặt JDK 1.8 và đặt JAVA_HOME env của tôi thành 1.8 - Điều này không hoạt động
  2. Studio Android của tôi không hiển thị bất kỳ "Công cụ SDK Android (Đã lỗi thời)" nào nhưng đã có "Công cụ SDK Android"

Đây là những gì làm việc cho tôi:

  1. Xóa "Công cụ SDK Android" khỏi Trình quản lý SDK
  2. Cài đặt lại nó bằng cách trước tiên bỏ chọn "Ẩn các gói đã lỗi thời" và sau đó chọn "Công cụ SDK Android (Đã lỗi thời)", cài đặt nó.
  3. chạy flutter doctor --android-licensesvà chọn ycác lời nhắc
  4. chạy flutter doctorvà mọi thứ sẽ ổn thôi !!!!

0

Tôi đã phải đối mặt với vấn đề. Các toolsthư mục cũng đã mất tích từ Android SDKthư mục. Tôi tin rằng toolsthư mục chỉ xuất hiện sau khi cài đặt Android SDL tools(obsolete). Tùy chọn này không có sẵn cho tôi.

Giải pháp: Tôi đã nâng cấp Javatừ phiên bản 8 lên phiên bản 12 và tôi đã có thể cài đặt các công cụ. Bạn vẫn có thể gặp lỗi Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenseskhi đưa ra lệnh flutter doctor -v. Chạy lệnh flutter doctor --android-licenses, các giấy phép sẽ được xem xét khi bạn nhấp vào yesmỗi khi câu hỏi này xuất hiệnAccept? (y/N):

Hy vọng rằng nó sẽ giúp một ai đó.


0

Nếu bạn sử dụng thùng bia nhà , bạn có thể làm

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

Đối với người dùng Windows, giải pháp ngắn hạn là hạ cấp xuống JDK8. Hy vọng rằng Flagship sẽ sớm khắc phục sự cố để Android SDK hoạt động với> JDK8.


0

Sau khi thực hiện nhiều phân tích cho Ubuntu 20.04 của mình, tôi đã tìm ra giải pháp

đối với tôi lỗi /home/rk/Android/Sdk/tools/bin/sdkmanagerlà thiếu quyền viết .

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

Sau đó chạy lệnh dưới đây.

  1. flutter doctor --android-licenses

nó tự động xử lý các giấy phép.


0

Thực hiện theo các bước đơn giản.

  1. chuyển đến công cụ, sau đó là trình quản lý SDK, sau đó nhấp vào SDK android.
  2. nhấp vào tab trang web cập nhật SDK.
  3. chọn hộp kiểm cho biết https: //..sources sẽ được tìm nạp bằng https: //.
  4. bấm vào áp dụng và ok.
  5. Bây giờ khởi động lại studio android.
  6. chuyển đến các công cụ SDK và chọn hộp kiểm cho biết Ẩn các gói lỗi thời.
  7. đợi khoảng một phút hoặc lâu hơn để các gói xuất hiện.
  8. sau đó chọn một gói có tên là "các công cụ SDK android (đã lỗi thời) và nhấn OK.
  9. tiếp tục cài đặt gói.
  10. sau khi cài đặt khởi động lại android studio và cũng khởi động lại cmd, sau đó chạy bác sĩ rung.
  11. nó sẽ mất một vài phút và nó sẽ hoạt động

-1

CẢNH BÁO : Câu trả lời này hữu ích nếu bạn gặp vấn đề với biến môi trường JAVA_HOME và hướng của biến đó. Nếu bạn không gặp vấn đề này, bạn không nên thử giải pháp này.

Nếu bạn gặp lỗi này và bạn đã thử với bác sĩ --android-Licence hoặc sdkmanager --licenses và bạn gặp sự cố với biến môi trường JAVA_HOME, thì bạn phải đọc phần này.

Tôi có kiến ​​MacOS Catalina, tôi có thể giải quyết sự cố này thành công bằng các bước tiếp theo:

  1. Mở thiết bị đầu cuối của bạn
  2. Loại: open -e .bash_profile (Bạn sẽ thấy gần như hai biến môi trường: flashing và JAVA_HOME)
  3. Lưu biến môi trường JAVA_HOME được ghi ở đó trong tệp textEdit nếu bạn muốn và XÓA biến môi trường JAVA_HOME. Lưu tệp bash_profile.
  4. Vào lại terminal và chạy mã nguồn $ HOME / .bash_profile
  5. Hãy thử lại bác sĩ rung và bạn sẽ không thấy lỗi tương tự nữa.

Xin vui lòng cho tôi biết nếu bạn có nghi ngờ.


-1

Đây là những gì tôi đã làm để khắc phục sự cố của mình. Xin lưu ý rằng, bạn không phải gỡ cài đặt bản sao Android Studio / SDK cũ của mình. Android Studio sẽ xử lý vấn đề đó trong khi bạn cài đặt phiên bản mới nhất.

  1. Đã tải xuống và cài đặt phiên bản Android Studio mới nhất
  2. Làm theo hướng dẫn trong hướng dẫn này
  3. Sau khi cài đặt hoàn tất, chạy bác sĩ rung và kiểm tra, vấn đề của bạn nên đã được giải quyết. Nếu sự cố được giải quyết, không cần phải chạy lệnh của bác sĩ --android-Licence .
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.