ไม่สามารถยอมรับข้อตกลงใบอนุญาตแพลตฟอร์ม Android SDK 24


119

ฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อพยายามติดตั้งแพลตฟอร์ม Android ในโครงการ Cordova ฉันทำตามคำแนะนำนี้: https://cordova.apache.org/docs/en/latest/guide/cli/

เกิดข้อผิดพลาดเมื่อดำเนินการดังต่อไปนี้: $ cordova platform add android --save

เกิดปัญหาในการกำหนดค่าโปรเจ็กต์รูท 'android' คุณยังไม่ยอมรับข้อตกลงใบอนุญาตของส่วนประกอบ SDK ต่อไปนี้: [Android SDK Platform 24]

ฉันได้ค้นหาวิธีการยอมรับข้อตกลงใบอนุญาตของ Android SDK Platform 24 ทั้งหมดแล้ว แต่ไม่มีโชคจริงๆ

ขอบคุณล่วงหน้า


1
สำหรับ Windows ให้เปิด SDK Manager ด้วยการเข้าถึงของผู้ดูแลระบบ ยกเลิกการเลือกทั้งหมดค้นหาแพลตฟอร์ม SDK 24 ตรวจสอบว่าติดตั้ง คุณสามารถยอมรับใบอนุญาตได้ที่นั่น
Nick Chan Abdullah

1
สำหรับฉันปัญหาได้มีการติดตั้งandroid-sdkจากสถานที่หลาย ๆ ( brew, brew caskและandroid-studio) และไม่ได้เรียกร้องที่เหมาะสมsdkmanager --licensesคำสั่ง
Pierre-เล็กซิสเด Solminihac

คำตอบ:


167

คุณยังสามารถดำเนินการ

$ ANDROID_HOME / tools / bin / sdkmanager --licenses

หรือสำหรับ Windows ดำเนินการ

% ANDROID_HOME% / tools / bin / sdkmanager - ใบอนุญาต

(เครดิตคำสั่ง windows ไปที่ @ puneet-kumar)


บน Mac sdk อยู่ใน / Library / Android /
Tyler Chong

ทำงานได้ดีสำหรับ Android 26 และ 27 เช่นกัน มีปัญหาเดียวกัน แต่เกิดขึ้นเมื่อ Cordova ของฉันอัปเดต gradle จาก 4.0 เป็น 4.1
Trevor

@PuneetKumar คำสั่งนี้ใช้ไม่ได้สำหรับฉัน ฉันมีไฟล์ sdkmanager.bat ในโฟลเดอร์ tools / bin
Heemanshu Bhalla

ใน linux - bash: / tools / bin / sdkmanager: ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว
Niladri Banerjee - Uttarpara

คุณมีวิธีดำเนินการแบบไม่โต้ตอบหรือไม่?
Peter Mounce

163

ฉันไม่แน่ใจว่า Cordova ทำงานอย่างไร แต่เมื่อยอมรับใบอนุญาตแล้วจะสร้างไฟล์ขึ้นมา คุณสามารถสร้างไฟล์นั้นด้วยตนเอง มีคำอธิบายสำหรับคำถามนี้แต่นี่คือคำสั่งในการสร้างไฟล์ลิขสิทธิ์ที่จำเป็น

ลินุกซ์:

mkdir "$ANDROID_HOME/licenses"
echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license"

ของ windows:

mkdir "%ANDROID_HOME%\licenses"
echo |set /p="8933bad161af4178b1185d1a37fbf41ea5269c55" > "%ANDROID_HOME%\licenses\android-sdk-license"

เฮ้ไมค์จากไดเร็กทอรีใดที่ฉันรันคำสั่งเหล่านั้น ขอบคุณ!
Daneye

ไดเรกทอรีการทำงานไม่ควรมีความสำคัญตราบใดที่มีการกำหนดตัวแปรสภาพแวดล้อม $ ANDROID_SDK นี่อาจเป็น $ ANDROID_HOME ควรกำหนดหนึ่งในนั้น เป็นที่ตั้งของ Android SDK คุณสามารถพิมพ์ 'printenv' และค้นหาตัวแปรที่กำหนดไว้เพื่อค้นหา หรือเพียงแค่ 'echo $ ANDROID_HOME' เพื่อดูว่าตั้งค่าไว้หรือไม่ นี่คือสมมติว่า linux ... windows คุณจะอ้างอิงตัวแปรสภาพแวดล้อมโดย% ANDROID_SDK% แทน $ ANDROID_SDK
Mike

5
พร้อมกับข้อผิดพลาด Cordova จะสะท้อนเส้นทางไปยัง ANDROID_HOME (ในกรณีที่คุณไม่พบ)! หากไม่ได้ตั้งค่า ANDROID_HOME คุณสามารถตั้งค่าได้ด้วยตนเองเช่นนี้set ANDROID_HOME="C:\Users\*YOUR_USER_NAME*\AppData\Local\Android\sdk"และดำเนินการตามคำสั่งข้างต้น
Arno van Oordt

การใช้ Android Studio และการติดตั้ง Android เวอร์ชัน 24 ได้แก้ไขปัญหานี้ให้ฉัน
David Douglas

3
แม้จะมีการติดตั้ง sdk build tools 24 ปัญหาของฉันไม่ได้รับการแก้ไขบนเครื่อง mac แก้ไขสิ่งนี้ด้วยการสร้างโฟลเดอร์ใบอนุญาตและไฟล์ android-sdk-license ด้วยตนเองตามที่อธิบายไว้ข้างต้น
kushalvm

52

ฉันมีปัญหานี้บน Mac OS X 10.12.1 พร้อม Cordova 6.4.0 และ Android Studio 2.2.3

เมื่อฉันติดตั้ง Android Studio มันได้ติดตั้งแพลตฟอร์ม 25 แต่ไม่ใช่ 24 ในการติดตั้ง 24:

  • เปิด Android Studio
  • Android Studio Menu > Preferencesเปิด
  • Appearance & Behavior > System Settings > Android SDK
  • ทำเครื่องหมายในช่องสำหรับ Android 7.0 (Nougat) | 24
  • คลิกตกลงและทำตามคำแนะนำ

หมายเหตุ: อย่าลืมปรับเวอร์ชัน Android เป็นแพลตฟอร์ม SDK ที่หายไป
Hugo H

2
ฉันทำสิ่งนี้แล้ว แต่ฉันอาจประหยัดเวลาได้เล็กน้อยโดยคลิก "แสดงรายละเอียดแพ็กเกจ" และเลือกเฉพาะ SDK แทนที่จะติดตั้ง Google APIs และ Source ด้วย
แอรอน

สัปดาห์ผ่านไปนับตั้งแต่สร้างครั้งล่าสุดของฉัน การสร้างแอปของฉันใหม่อีกครั้งฉันพบปัญหาเดียวกันข้างต้น แต่แก้ไขได้หลังจากทำวิธีแก้ปัญหานี้แล้ว
Jur P

27

ฉันมีปัญหาเดียวกัน จากนั้นฉันติดตั้ง "Android 7.0 (API 24)> แพลตฟอร์ม SDK" และใช้งานได้

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


26

วิธีที่ง่ายที่สุดในการแก้ปัญหานี้คือยอมรับใบอนุญาตโดยใช้คำสั่งต่อไปนี้:

ระบบปฏิบัติการ Windows:

C:\Users\{your-username}\AppData\Local\Android\sdk\tools\bin\sdkmanager --licenses

คุณจะได้รับการปฏิเสธความรับผิดชอบ ในการพัฒนาต่อไปคุณต้องตอบ 'y' สำหรับข้อจำกัดความรับผิดชอบทั้งหมด


25

ไปที่ Android\sdk\tools\bin

วิธีแก้ปัญหาข้างต้นไม่ได้ผลสำหรับฉันและในที่สุดบรรทัดเดียวนี้ก็ยอมรับใบอนุญาต Android ทั้งหมด

yes | sdkmanager --licenses && sdkmanager --update

1
หากwindowsผู้ใช้ได้รับข้อผิดพลาด ลองsdkmanager --licenses && sdkmanager --updateและยอมรับใบอนุญาตด้วยตนเอง
Rahmat Ali

สำหรับผู้ใช้ไป MacOS การ/ ผู้ใช้ / ชื่อผู้ใช้ / Library / Android / SDK / เครื่องมือ / binyes | ./sdkmanager --licensesและ และ. / sdkmanager - ช่วยให้ทราบข้อมูลเพิ่มเติม
Pushpak Sharma

13

ฉันมีปัญหาคุณไม่จำเป็นต้องคัดลอกหรือสร้างโฟลเดอร์ใด ๆ เพียง แต่ระวังเส้นทาง SDK ของคุณมันต้องเป็นตัวแปรสภาพแวดล้อม (ANDROID_HOME) ซึ่งไม่เหมือนกันสำหรับฉันไม่รู้ทำไม

ตำแหน่ง sdk


13

ในกรณีของฉันฉันไม่ได้ใช้สตูดิโอ Android (ฉันใช้ eclipse) ฉันทำตามขั้นตอนต่อไปนี้: แก้ไขได้โดยเรียกใช้คำสั่ง

android-sdks/tools/bin$ ./sdkmanager --update

ซึ่งสร้างlicensesไดเร็กทอรีและเพิ่มไฟล์ที่เรียกว่าandroid-sdk-licenseภายใน

จากนั้นคุณสามารถเรียกใช้ ( licensesตัวเลือกไม่สามารถใช้ได้เว้นแต่คุณจะทำตามขั้นตอนด้านบน)

android-sdks/tools/bin$ ./sdkmanager --licenses

และยอมรับใบอนุญาต (อย่างไรก็ตามในกรณีของฉันฉันไม่จำเป็นต้องทำเช่นนั้น)


9

ฉันติดตั้ง android sdk build-tools 24 (เป็นเวอร์ชันปัจจุบัน 24.0.3) ผ่านตัวจัดการ SDK เส้นทางเพื่อเปิดตัวจัดการ SDK จะแสดงในไฟล์ img ที่แนบมา วิธีนี้ช่วยแก้ปัญหาของฉัน ผู้จัดการ SDK


1
ฉันไม่เห็นภาพที่แนบมา แต่มันก็ใช้ได้เช่นกัน มีปุ่มใน Android Studio สำหรับ SDK Manager จากนั้นคุณสามารถเปิดตัวจัดการ SDK แบบสแตนด์อโลนซึ่งจะช่วยให้คุณดาวน์โหลด Android 24 ทุกอย่างได้อย่างง่ายดาย
Yonatan Kogan

อีกครั้งฉันประสบปัญหาเดียวกันเมื่อติดตั้งโดยใช้ Cordova build ในพีซีเครื่องอื่นที่มีระบบปฏิบัติการ windows 7 คราวนี้ฉันติดตั้งเครื่องมือ build 24 ไว้แล้ว ดังนั้นทำตามขั้นตอนที่ Feyyaz กล่าวไว้ด้านล่าง นั่นคือการติดตั้ง Android 7.0 (API 24) และใช้งานได้ ดังนั้นฉันรู้สึกว่า Cordova รุ่นล่าสุดที่มากกว่า 6 เวอร์ชันต้องการ API 24 พร้อมเครื่องมือสร้าง 24 หรือสูงกว่า แต่ฉันไม่พบเอกสารใด ๆ สำหรับเรื่องนี้ในเว็บไซต์ของพวกเขา
BruS

บน MacOS และ Linux ตัวจัดการ SDK อยู่ที่ $ ANDROID_HOME / tools / android
Tony Laidig

7

ฉันมี Android SDK โดยการติดตั้ง Android Studio และได้รับข้อผิดพลาดนี้ด้วย มีวิธีง่ายๆจากคู่มือผู้ใช้

  1. ในเครื่องที่มีการติดตั้ง Android Tools > Android > SDK Managerสตูดิโอคลิก ที่ด้านบนของหน้าต่างทราบAndroid SDK สถานที่ตั้ง

  2. ไปที่ไดเร็กทอรีนั้นและค้นหาlicenses/ไดเร็กทอรีภายในนั้น

    (หากคุณไม่เห็นlicenses/ไดเร็กทอรีให้กลับไปที่ Android Studio และอัปเดตเครื่องมือ SDK ของคุณตรวจสอบให้แน่ใจว่าได้ยอมรับข้อตกลงใบอนุญาตเมื่อคุณกลับไปที่โฮมไดเร็กทอรี Android SDK ตอนนี้คุณจะเห็นไดเร็กทอรี)

  3. คัดลอกlicenses/ไดเรกทอรีทั้งหมดและวางลงAndroid SDK home directoryในเครื่องที่คุณต้องการสร้างโครงการของคุณ


7

ข้อผิดพลาดนี้อาจเกิดขึ้นได้หากระบบไม่เลือกตัวแปรสภาพแวดล้อม ANDROID_HOME จากเส้นทางที่เหมาะสม ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Android SDK และตั้งค่าตัวแปร ANDROID_HOME อย่างถูกต้องตามเส้นทางที่เหมาะสมดังภาพด้านล่าง:

ANDROID_HOME_PATH

หากไม่ได้กำหนดตัวแปร ANDROID_HOME ระบบจะพยายามเลือกเส้นทางจากเส้นทางเริ่มต้น (อาจไม่ใช่เส้นทางที่กำหนด Android SDK ซึ่งนำไปสู่ปัญหานี้)



4

เป็นเพราะโดยค่าเริ่มต้นในขณะที่เขียนนี้เครื่องมือIonic CLIถูกตั้งค่าเริ่มต้นเป็น

<preference name="android-targetSdkVersion" value="LATEST_SDK_VERSION"/> 

นั่นคือเหตุผลว่าทำไมจึงบ่นว่าคุณไม่ยอมรับข้อตกลงสิทธิ์การใช้งาน แต่ในความเป็นจริงคุณไม่ได้ติดตั้งแพ็คเกจ SDKสำหรับระดับAPIนั้นแต่ยอมรับใบอนุญาตเพียงอย่างเดียว

ดังนั้นสิ่งที่คุณต้องทำก็คือ

  1. เปลี่ยนเวอร์ชัน SDK เป้าหมายของคุณ
  2. ติดตั้งระดับ SDK API ล่าสุดจากSDK Manager

การเปลี่ยนเวอร์ชัน SDK ของคุณ

คุณสามารถทำได้ด้วยตนเองและยืนยันได้ด้วยการเรียกใช้

ionic cordova platform add android 

ไฟล์สามารถพบได้เมื่อyour-awesome-app/config.xml เปิดและเพิ่มบรรทัดนี้เนื่องจากซ่อนไว้ตามที่ระบุไว้ข้างต้น

<preference name="android-targetSdkVersion" value="24"/>

หากคุณไม่แน่ใจว่าหมายเลขระดับ APIใดที่คุณกำหนดเป้าหมายเป็นSDK Managerแบบเปิดและดูระดับ API (ตัวเลข) ที่มีอยู่ในเครื่องของคุณ

การติดตั้งแพ็คเกจ SDK ล่าสุด

คุณสามารถเพิ่มแพ็คเกจ SDKปัจจุบันที่CLIกำลังแสดงอยู่ซึ่งในกรณีของคุณคือ24

เรียกใช้SDK MANAGERในฐานะผู้ดูแลระบบ

เรียกใช้ SDK Manager ในฐานะผู้ดูแลระบบ

ติดตั้งแพ็คเกจ SDK APIที่คุณกำหนดเป้าหมาย

นั่นคือตำแหน่งที่เขียนระดับ SDK API

ฉันรู้เรื่องนี้ได้อย่างไร? ฉันทำมันเมื่อเช้านี้และนั่นคือวิธีที่ฉันแก้ไขและตอนนี้กำลังเล่นSticky Bubble บน Androidเพื่อผ่อนคลายสักหน่อย

มีความสุขในการปรับใช้!


การเพิ่มtargetSdkVersionลงในconfig.xmlไฟล์ช่วยแก้ปัญหาของฉันได้ ขอบคุณ :)
B Faley

4

ในกรณีของฉัน (สคริปต์ Dockerfile เพื่อสร้างคอนเทนเนอร์ Android CI - https://github.com/menny/docker_android ) ฉันต้องทำตามขั้นตอนเหล่านี้:

mkdir ~/.android && touch ~/.android/repositories.cfg
yes | sdkmanager --licenses
sdkmanager "build-tools;26.0.0"
sdkmanager "platform-tools" "tools"
sdkmanager "platforms;android-26" "platforms;android-25" "platforms;android-24"
.....
sdkmanager --update
yes | sdkmanager --licenses

สองบันทึก:

  1. ต้องสร้างrepositories.cfgไฟล์เปล่าหรือsdkmanagerจะตาย
  2. ต้องดำเนินการดึง / ติดตั้งแพ็คเกจในการโทรที่แตกต่างกันเนื่องจากไม่มีการระบุความคืบหน้า

4

ไปที่ C: \ Users {user} \ AppData \ Local \ Android \ sdk \ tools \ bin

จากนั้นเรียกใช้ sdkmanager --licenses

จะขอให้คุณยอมรับข้อตกลงใด ๆ ที่เหลือที่จะยอมรับ คุณจะต้องพิมพ์ "y" และป้อน

จะแก้ปัญหา


สิ่งนี้ดีมากถ้าคุณมีเซิร์ฟเวอร์สร้างที่ต้องดาวน์โหลด sdk โดยอัตโนมัติ
Roel

Couldn't load neither find main class com.android.sdklib.tool.SdkManagerCliฉันพยายามที่และฉันได้รับ ไอเดีย?
PlayHardGoPro

นี้อาจจะเป็นประโยชน์stackoverflow.com/questions/40718487/... คุณสามารถลองเรียกใช้ "./SdkManagerCli" ภายในโฟลเดอร์ / sdklib / tools
Lakshitha Ruwan

4

ฉันใช้ Mac และแก้ไขโดยใช้คำสั่งนี้:

$ which sdkmanager
/usr/local/bin/sdkmanager
$ /usr/local/bin/sdkmanager --licenses
Warning: File /Users/user/.android/repositories.cfg could not be loaded.
6 of 6 SDK package licenses not accepted.
Review licenses that have not been accepted (y/N)? y

จากนั้นฉันมีรายการใบอนุญาต 6 รายการที่จะยอมรับและได้รับการแก้ไขหลังจากนั้น


4

คุณยังสามารถทำตามวิธี "อย่างเป็นทางการ" เรียกใช้ " sdkmanager --licenses " ภายในโฟลเดอร์tools / binของการติดตั้ง Android SDK และยอมรับใบอนุญาตทั้งหมด ทำ!

c:\android-sdk\tools\bin>sdkmanager --licenses

สำหรับ macOS หรือ Linux จะเป็นคำสั่งเดียวกัน


3

ฉันต้องอัปเดต android sdk

android update sdk --no-ui

yในบางจุดก็จะขอให้คุณสำหรับข้อตกลงใบอนุญาตกด หลังจากนั้นคุณต้องถอดแพลตฟอร์มเชิงมุมออก


3
  1. ไปที่ตำแหน่ง Android SDK

C: \ Users \ ชื่อผู้ใช้ \ AppData \ \ Android \ SDK \ Tools \ bin ท้องถิ่น

  1. เรียกใช้คำสั่ง sdkmanager --licenses

  2. ยอมรับใบอนุญาตสำหรับ SDK


4
มีการโพสต์ข้อมูลเดียวกันหลายครั้งแล้ว คุณปรับปรุงคำตอบที่มีอยู่อย่างไร
Stephen Kennedy

2

ต้องติดตั้งแพลตฟอร์ม sdk ที่เสถียรล่าสุด ฉันติดตั้ง SDK-Platform จาก API 25 มันแก้ไขปัญหาของฉันดูภาพหน้าจอด้านล่าง


2

ปัญหานี้กำลังปรากฏขึ้นเมื่อมี SDK Manager เวอร์ชันเก่าอยู่ในเครื่องซึ่งเปลี่ยนแนวทางของการสร้าง Android ซึ่งต้องใช้ "android studio" ฉันประสบปัญหานี้ใน Visual Studio ที่หยุดซ้ำด้วยข้อความแสดงข้อผิดพลาด "คุณยังไม่ยอมรับใบอนุญาตสำหรับเวอร์ชัน 25" วิธีแก้ปัญหานี้คือ "ติดตั้ง Android Studio" จากนั้น "ไปที่ Environment Variables" และตั้งค่า ANDROID_HOME เป็น "C: \ Users \\ AppData \ Local \ Android \ Sdk" (สามารถเลือกเส้นทางนี้ได้จาก Android Studio เมนู >> เครื่องมือ >> ตัวจัดการ SDK ใช้แบบเดียวกันนี้ใน "เส้นทาง" ของตัวแปรสภาพแวดล้อมด้วยวิธีนี้ตัวจัดการ SDK ใหม่จะถูกแมปสำหรับการรับโดย Visual Studio Build for Cordova Application

นี่ใช้เวลาเพียง 2 วันเป็นครั้งที่สอง

ขอให้คนอื่นอย่าเสียเวลากับเรื่องนี้


1

การเปลี่ยนรุ่นเป้าหมายอาจใช้ได้ผลตามที่อ้างถึงที่นี่

หากคุณต้องการระบุเวอร์ชัน SDK คุณสามารถทำได้โดยเพิ่มบรรทัดต่อไปนี้ใน config.xml ของคุณในรูทของโปรเจ็กต์ไอออนิก / คอร์โดวาของคุณ

<preference name="android-targetSdkVersion" value="23"/>


1

หวังว่านี่จะใช้ได้กับใครบางคนที่
ฉันประสบปัญหาเดียวกัน! ฉันมี 2 sdks ชื่อ sdk และ sdk1 เป็นค่าเริ่มต้นที่เชื่อมโยงกับ sdk แต่สิ่งที่ใช้งานได้คือ sdk1 ดังนั้นฉันจึงไปที่ Environment Varaible และเพิ่ม ANDROID_HOMEและเส้นทางของ sdk1 นั่นคือในกรณีของฉันคือC: \ Users \ tripa_000 \ AppData \ Local \ Android \ sdk1และมันช่วยแก้ปัญหาของฉันได้!


0

สำหรับฉันฉันกำลังสร้างไอออนิกโดยใช้คำสั่ง "สร้างไอออนิก android" และฉันก็ได้รับปัญหาเดียวกัน! วิธีแก้ปัญหาก็ง่ายๆ

  • ในการติดตั้ง sdk ที่ต้องการ
  • เรียกใช้คำสั่งเดียวกันใน CMD ต้องเป็นผู้ดูแลระบบ

0

ฉันเพิ่งพบปัญหานี้และสิ่งที่แก้ไขได้สำหรับฉันใน windows คุณกำลังใช้บรรทัดคำสั่งและคุณเพิ่งติดตั้ง android sdk คุณต้องรีสตาร์ท Command Prompt หรือ Power Shell หลังจากที่คุณติดตั้ง android sdk


0

คำตอบของ Mike ใช้งานได้ แต่ต้องใส่ใบอนุญาตที่สร้างขึ้นภายใต้ C: \ Users \ user \ AppData \ Local \ Android \ sdk \ licenses


0

หมายความว่าพลาดตรงกับเวอร์ชัน Android SDK ของ Cordova กับเวอร์ชันที่คุณติดตั้ง สำหรับตัวอย่าง Cordova รองรับ Android SDK 24 แต่คุณไม่มี Android sdk 24 อาจเป็นแบบย้อนกลับ


0

การดำเนินการนี้จะอัปเดต Android SDK ของคุณและยอมรับใบอนุญาตในเวลาเดียวกัน (เช่นสำหรับ Android 25):

android update sdk --no-ui --filter build-tools-25.0.0, android-25, extra-android-m2repository


0

ปัญหาสำหรับฉันคือตัวแปร ANDROID_HOME ของฉันถูกตั้งค่าเป็นการติดตั้งอื่นที่ฉันลืมไปแล้ว หากนี่เป็นปัญหาของคุณให้ลบการติดตั้งเก่า

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