ข้อผิดพลาด "ไม่สามารถติดตั้งแพ็กเกจ Android SDK ต่อไปนี้เนื่องจากไม่ยอมรับใบอนุญาตบางรายการ"


178

ฉันได้รับข้อผิดพลาดนี้ใน jitpack ฉันได้ลองทุกอย่างบนอินเทอร์เน็ตแล้ว ด้านล่างนี้เป็นข้อผิดพลาดของฉัน

Failed to install the following Android SDK packages as some licences have not been accepted.
     platforms;android-26 Android SDK Platform 26
     build-tools;28.0.3 Android SDK Build-Tools 28.0.3
  To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.

และเมื่อฉันเรียกใช้. / sdkmanager --licenses

 All SDK package licenses accepted.======] 100% Computing updates...             

การใช้ sudo ด้วยคำสั่งด้านบนให้

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

บันทึกข้อผิดพลาดเพิ่มเติม

File /opt/android-sdk-linux/.android/repositories.cfg could not be loaded.
Checking the license for package Android SDK Build-Tools 28.0.3 in /opt/android-sdk-linux/licenses
Warning: License for package Android SDK Build-Tools 28.0.3 not accepted.
Checking the license for package Android SDK Platform 26 in /opt/android-sdk-linux/licenses
Warning: License for package Android SDK Platform 26 not accepted.

ฉันไม่รู้ว่าทำไมจึงตรวจสอบใบอนุญาตที่นั่นเมื่อตำแหน่ง sdk ของฉันเป็นที่อื่น


1
ดูเหมือนว่าจะมีวิธีแก้ปัญหาเล็กน้อยที่นี่อาจใช้งานได้!
Jake Lee

2
ผมมีปัญหาเดียวกัน. ฉันดาวน์โหลด SDK ที่เกี่ยวข้องผ่าน Android Studio และไม่ได้ถามฉันเกี่ยวกับใบอนุญาตใด ๆ เลย อีกปัญหาที่ไม่จำเป็น
Steve Smith

คำตอบ:


339

คุณต้องยอมรับใบอนุญาตก่อนสร้าง

ตามเอกสาร Android SDKคุณสามารถใช้คำสั่งต่อไปนี้ขึ้นอยู่กับตำแหน่ง sdkmanager: --licensesตัวเลือกDocs on ดูเหมือนจะหายไป

yes | sdkmanager --licenses

การแจกแจง GNU / Linux:

yes | ~/Android/Sdk/tools/bin/sdkmanager --licenses

macOS:

export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home
yes | ~/Library/Android/sdk/tools/bin/sdkmanager --licenses

Windows:

%ANDROID_HOME%/tools/bin/sdkmanager --licenses

กระพือ:

> flutter doctor --android-licenses

52
ฉันได้รับข้อผิดพลาดนี้Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
HendraWD

8
@HendraWD หากคุณติดตั้ง Java เพิ่มเติมในคอมพิวเตอร์ของคุณ (หมายเหตุ: Android Studio มี Java เป็นของตัวเอง) คุณควรตรวจสอบให้แน่ใจว่ามีเวอร์ชันเดียวกัน มิฉะนั้นอาจเกิดข้อผิดพลาดนี้ ฉันแก้ไขได้แล้วโดยตั้งค่าเส้นทาง "Android Studio / jre" เป็น JAVA_HOME
Licat Julius

10
สำหรับ Mac โดยไม่ต้องติดตั้ง Java ผมต้องexport JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home, ,cd ~/Library/Android/sdk/tools/bin ./sdkmanager --licenses
Graham Perks

1
FWIW: ดูเหมือนว่าจะรองรับเฉพาะ JDK <11 เท่านั้นและพอสนุก Ubuntu 18.04 มาพร้อมกับopenjdk 11jdk เริ่มต้น หลังจากแน่ใจว่าฉันใช้เวอร์ชัน java ที่รองรับฉันได้รับError: Could not create the Java Virtual Machineและพบว่าฉันต้องเรียกsdkmanagerใช้ sudo
JHH

ฉันต้องรันคำสั่งด้วย sudo ใน ubuntu ใช่ | sudo ~ / Android / Sdk / tools / bin / sdkmanager --licenses
mramsath

59

ใน Windows OS ไปที่เส้นทาง sdkmanager ของคุณจากนั้นดำเนินการ

./sdkmanager.bat --licenses

คุณสามารถค้นหา sdkmanager ของคุณได้ใน C:\Users\USER\AppData\Local\Android\Sdk\tools\bin

ในการค้นหาเส้นทาง Android SDK ที่แท้จริงของคุณให้ทำตามพื้นที่ที่มีเครื่องหมายสีแดงของภาพด้านล่าง

ใส่คำอธิบายภาพที่นี่


1
หลังจากนี้คุณสามารถตรวจสอบสิทธิ์การใช้งานแต่ละรายการและยอมรับตามนั้นผ่านหน้าต่าง bash เดียวกัน (Windows CMD แสดงข้อผิดพลาดใช้ git bash หรืออื่น ๆ แทน windows CMD)
Tharusha

47

หากคุณกำลังทำงานกับ Flutter คำสั่งนี้จะเหมาะกับคุณอย่างแน่นอน

flutter doctor --android-licenses

32

ในAndroid สตูดิโอไปที่เครื่องมือ -> SDK ผู้จัดการ

ไปที่แท็บSDK Tools

เลือกAndroid SDK เครื่องมือบรรทัดคำสั่ง (ล่าสุด)และดาวน์โหลดได้โดยการกดสมัคร

ใส่คำอธิบายภาพที่นี่

ในWindowsคุณสามารถค้นหา sdkmanager.bat ได้ที่

C: \ Users \ [your_user] \ AppData \ Local \ Android \ Sdk \ cmdline-tools \ latest \ bin

ใส่คำอธิบายภาพที่นี่


20

คุณสามารถยอมรับข้อตกลงใบอนุญาตของ SDK ที่ระบุได้โดยไปที่ตัวจัดการ SDK (การตั้งค่า> [ค้นหา Android SDK]) จากนั้นค้นหาแพ็กเกจที่ระบุไว้ในข้อความแสดงข้อผิดพลาดและพบที่นั่น มีโอกาสที่คุณจะพบ SDK ที่ติดตั้งไม่สมบูรณ์และการติดตั้งจะขอให้คุณยอมรับข้อตกลงใบอนุญาตใส่คำอธิบายภาพที่นี่


14

MacOS Catalina

ขั้นตอนที่ 1: การเปลี่ยนการตั้งค่า Android Studio

  1. เปิด Android Studio ของคุณ
  2. กดCommand +หรือไปที่ AppBar Android Studioด้านซ้ายบน> การตั้งค่าการตั้งค่า
  3. จากบานหน้าต่างด้านซ้ายเลือกลักษณะที่ปรากฏ> การตั้งค่าระบบ> Android SDK
  4. เลือกเครื่องมือ SDKถัดจากแพลตฟอร์ม SDKและภายใต้ตำแหน่งAndroid SDK
  5. ตรวจสอบเครื่องหมายเครื่องมือ Android SDK บรรทัดคำสั่ง (ล่าสุด)และกดOKปุ่ม
  6. รอให้การติดตั้งเสร็จสิ้น

ค้นหาการตั้งค่าของ Android Studio

การตั้งค่า Android Studio

ขั้นตอนที่ 2 (สำหรับผู้ใช้ Flutter):

  1. ไปที่ Terminal และเรียกใช้คำสั่งต่อไปนี้

flutter doctor --android-licenses

ขั้นตอนที่ 2 (สำหรับผู้ใช้ Android):

  1. ไปที่ Terminal และเรียกใช้คำสั่งต่อไปนี้

export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home

yes | ~/Library/Android/sdk/tools/bin/sdkmanager --licenses


คำตอบที่สมบูรณ์แบบและมีประโยชน์มาก จากคำตอบทั้งหมดและวิธีแก้ปัญหาต่างๆที่ฉันได้ลองมีเพียงคำตอบนี้เท่านั้นที่ใช้ได้ดีสำหรับฉัน ฉันใช้ไอออนิกและ Mac และวิธีแก้ปัญหาข้างต้นนั้นสมบูรณ์แบบและขั้นตอนโดยละเอียดก็มีประโยชน์มาก ขอขอบคุณ.
Neel

13

ใช้android-28กับbuild-toolsเวอร์ชัน28.0.3; หรือที่รุ่นbuild-tools26.0.3

หรือลองสิ่งนี้: yes | sudo sdkmanager --licenses


2
บน windows คุณสามารถเรียกใช้sdkmanager.bat --licensesและพิมพ์yคำถามทั้งหมด
Agung Santoso

11

สิ่งนี้ใช้ได้กับฉัน:

yes | ./sdkmanager "platforms;android-28"

yes | ./sdkmanager "build-tools;28.0.3"

yes | ./sdkmanager --licenses


1
ทำงานได้ดีสำหรับฉัน (Ubuntu 19.10, IntelliJ 2019.2.4) ฉันต้องติดตั้ง openJDK เพราะฉันมี JDK แบบฝังเท่านั้นไม่สามารถเข้าถึงได้จากเทอร์มินัลsudo apt install openjdk-8-jdk
56ka

4

ดูเหมือนจะเป็นจุดบกพร่องที่แม่: https://issuetracker.google.com/issues/123054726

วิธีแก้ปัญหาที่เหมาะกับฉัน:

สร้างไฟล์. travis.yml ในไดเร็กทอรีโปรเจ็กต์ของคุณและคัดลอกบรรทัดเหล่านี้:

before_script:
- mkdir "$ANDROID_HOME/licenses" || true
- echo "24333f8a63b6825ea9c5514f83c2829b004d1fee" > "$ANDROID_HOME/licenses/android-sdk-license"

อ้างอิง: https://github.com/square/RxIdler/pull/18/files


4

ใน Windows OS ไปที่ไดเร็กทอรีเส้นทาง sdkmanager ของคุณใน cmd

คุณสามารถค้นหา sdkmanager ของคุณได้ใน C: \ Users \ USER \ AppData \ Local \ Android \ Sdk \ tools \ bin

จากนั้นรันคำสั่ง followwing:

sdkmanager - ใบอนุญาต

หลังจากนั้นจะขอให้ยอมรับข้อตกลงใบอนุญาตหลายครั้งจากนั้นยอมรับทั้งหมดโดยพิมพ์yบน cmd


2

หากคุณกำลังใช้ Flutter ให้ทำตามขั้นตอนต่อไปนี้

1.open the command prompt

จากนั้นคำสั่งต่อไปนี้

2.C:\Users\niroshan>flutter doctor

และคุณจะเห็นประเด็นดังต่อไปนี้

Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 1.22.2, on Microsoft Windows [Version 10.0.17763.1339], locale en-US)

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    X Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
[!] Android Studio (version 4.1.0)
    X Flutter plugin not installed; this adds Flutter specific functionality.
    X Dart plugin not installed; this adds Dart specific functionality.
[√] VS Code (version 1.50.1)
[!] Connected device
    ! No devices available

! Doctor found issues in 3 categories.

จริงๆแล้วสิ่งที่คุณต้องเรียกใช้คือคำสั่งด้านล่าง

C:\Users\niroshan>flutter doctor --android-licenses

2

ในกรณีของฉันฉันเพิ่งติดตั้ง android studio เวอร์ชันใหม่บนแล็ปท็อปเครื่องใหม่และโคลนที่เก็บเก่าซึ่งอยู่ buildToolsVersion "30.0.2"ที่ระดับแอปพลิเคชัน build.gradle ฉันเพียงแค่การอัพเกรดไป30.0.3ที่หุ่นยนต์สตูดิโอแนะนำตัวของมันเองและปัญหาก็ไป


1

บน Mac OS 10.15.1 ฉันได้รับข้อผิดพลาดเดียวกันแม้ว่าจะยอมรับใบอนุญาตทั้งหมดโดยการเรียกใช้sdkmanager --licensesมันใช้งานได้หลังจากที่ฉันอัปเดตการกำหนดค่าเส้นทาง ANDROID_HOME ใน ~ / .bash_profile เป็นดังต่อไปนี้

export ANDROID_HOME=/Users/your_username/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
export PATH=$PATH:~/Library/Android/sdk/platform-tools

และโหลด ~ / .bash_profile อีกครั้ง

source ~/.bash_profile 

1

หากต้องการเพิ่มคำตอบคุณสามารถเปลี่ยนเป็นไดเร็กทอรี sdkmanager และในเชลล์ย่อยและยอมรับใบอนุญาตที่นั่น

(
    cd /home/user/android-sdk-linux/tools/bin
    yes | ./sdkmanager --licenses
)

1

ฉันเพิ่งทำ File -> ทำให้แคชไม่ถูกต้องและรีสตาร์ทจากนั้นติดตั้งแพ็คเกจที่ขาดหายไป ทำงานให้ฉัน


1

ฉันลองวิธีแก้ปัญหามากมาย แต่ไม่ได้ผลสำหรับฉัน วิธีแก้ปัญหาด้านล่างใช้ได้ผลสำหรับฉัน

ค้นหาไฟล์ sdkmanager ใน android SDK

ในกรณีของฉัน: ~ / Android / Sdk / tools / bin

ไปที่เส้นทางนั้น: cd ~/Android/Sdk/tools/bin

ยอมรับใบอนุญาตด้วยตนเอง: ./sdkmanager --licenses ป้อนใช่หรือ y


1

หากคุณได้รับข้อผิดพลาดนี้ขณะใช้ Flutter โปรดเรียกใช้คำสั่งด้านล่างในพรอมต์คำสั่ง

flutter doctor --android-licenses

หากคุณได้รับข้อผิดพลาดด้านล่างหลังจากเรียกใช้คำสั่งด้านบน

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)

จากนั้นโปรดทำตามขั้นตอนด้านล่าง

  1. เปิด android studio
  2. ไปที่ผู้จัดการ SDK
  3. คลิกที่แท็บเครื่องมือ SDK
  4. ติดตั้งเครื่องมือบรรทัดคำสั่ง Android SDK
  5. เรียกใช้flutter doctor --android-licensesอีกครั้ง

นั่นคืองานสำหรับฉัน
Kasun Hasanga

0

ลองใช้ Android Studio แล้วมันก็ใช้ได้ผลสำหรับฉัน:

เครื่องมือ> ตัวจัดการ SDK (อย่าลืมตรวจสอบแสดงแพ็คเกจด้านล่าง)

แพลตฟอร์ม SDK> แสดงแพ็กเกจ> Android - 28 แพลตฟอร์ม SDK> แสดงแพ็กเกจ> Android - 28

เครื่องมือ SDK> แสดงแพ็กเกจ> 28.0.3 เครื่องมือ SDK> แสดงแพ็กเกจ> 28.0.3


0

บน Windows:

  1. เพิ่มตัวแปรสภาพแวดล้อม USER:

หมายเหตุ: ควรต่อท้ายเส้นทาง

JAVA_HOME           %ProgramFiles%\Android\Android Studio\jre
ANDROID_SDK_ROOT    %LocalAppData%\Android\Sdk
Path                %LocalAppData%\Android\Sdk
  1. เรียกใช้คำสั่งด้านล่างเพื่อยอมรับใบอนุญาต:

หมายเหตุ: ยอมรับใบอนุญาตทั้งหมด (พูดy)

%ANDROID_SDK_ROOT%/tools/bin/sdkmanager.bat --licenses
  1. ตอนนี้เรียกใช้แอปของคุณ:

(เช่นด้านล่างหรือคำสั่งอื่นที่ล้มเหลวสำหรับคุณ):

cd \myapp\
react-native run-android

0

ในกรณีของฉันการอัปเดตbuildToolsVersionในระดับแอป build.gradle ทำงานได้อย่างสมบูรณ์ หากคุณไม่รู้ว่าจะใช้โปรเจ็กต์ใหม่และคัดลอก buildToolsVersion จากโปรเจ็กต์นั้นไปยังโปรเจ็กต์ที่มีอยู่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.