Không thể chấp nhận thỏa thuận cấp phép Android SDK Platform 24


119

Tôi gặp lỗi sau khi cố gắng cài đặt nền tảng Android trên một dự án Cordova. Tôi đã làm theo hướng dẫn này: https://cordova.apache.org/docs/en/latest/guide/cli/

Lỗi xảy ra khi thực hiện các thao tác sau: $ cordova platform thêm android --save

Đã xảy ra sự cố khi định cấu hình dự án gốc 'android'. Bạn chưa chấp nhận các thỏa thuận cấp phép của các thành phần SDK sau: [Nền tảng SDK Android 24].

Tôi đã tìm kiếm khắp nơi để tìm cách chấp nhận thỏa thuận cấp phép của Android SDK Platform 24 , nhưng không thực sự may mắn.

Cảm ơn bạn trước thời gian.


1
cho windows, hãy mở Trình quản lý SDK với quyền truy cập Quản trị viên. Bỏ chọn tất cả, Tìm Nền tảng SDK 24, kiểm tra và cài đặt. Ở đó bạn có thể chấp nhận giấy phép.
Nick Chan Abdullah

1
đối với tôi vấn đề đã được đã được cài đặt android-sdktừ nhiều nơi ( brew, brew caskandroid-studio) chứ không phải gọi thích hợp sdkmanager --licenseslệnh
Pierre-Alexis de Solminihac

Câu trả lời:


167

Bạn cũng có thể thực hiện

$ ANDROID_HOME / tools / bin / sdkmanager --licenses

Hoặc cho Windows thực thi

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

(tín dụng cho lệnh windows cho @ puneet-kumar)


Trên máy Mac, các sdk là trong / Library / Android /
Tyler Chong

Hoạt động tốt cho Android 26 và 27. Gặp vấn đề tương tự nhưng nó đã xảy ra khi wireova của tôi cập nhật gradle từ 4.0 lên 4.1
Trevor

@PuneetKumar lệnh này không hoạt động đối với tôi. tôi có tệp sdkmanager.bat trong thư mục tools / bin
Heemanshu Bhalla

trong linux - bash: công cụ / / bin / sdkmanager: Không có tập tin hoặc thư mục
Niladri Banerjee - Uttarpara Kotrung

Bạn có cách nào để thực thi điều đó không tương tác không?
Peter Mounce

163

Tôi không chắc chính xác cách hoạt động của cordova, nhưng khi giấy phép được chấp nhận, nó sẽ tạo ra một tệp. Bạn có thể tạo tệp đó theo cách thủ công. Nó được mô tả trên câu hỏi này , nhưng đây là các lệnh để tạo tệp giấy phép cần thiết.

Linux:

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

Các cửa sổ:

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

Này Mike, tôi thực hiện các lệnh đó từ thư mục nào? Cảm ơn!
Daneye

Thư mục làm việc không quan trọng, miễn là biến môi trường $ ANDROID_SDK được xác định. Đây cũng có thể là $ ANDROID_HOME. Một trong những điều đó nên được xác định; Đây là vị trí của SDK android. Bạn có thể nhập 'printenv' và tìm kiếm qua các biến đã xác định để tìm nó. Hoặc chỉ cần 'echo $ ANDROID_HOME' để xem nó đã được đặt chưa. Điều này giả sử cửa sổ linux ... bạn sẽ tham chiếu các biến môi trường theo% ANDROID_SDK% thay vì $ ANDROID_SDK.
Mike

5
Cùng với lỗi, Cordova sẽ echo đường dẫn đến ANDROID_HOME (trong trường hợp bạn không tìm thấy)! Nếu ANDROID_HOME không được đặt, bạn có thể đặt nó theo cách thủ công như thế này set ANDROID_HOME="C:\Users\*YOUR_USER_NAME*\AppData\Local\Android\sdk"và thực hiện các lệnh trên.
Arno van Oordt

Sử dụng Android Studio và cài đặt phiên bản Android 24 đã khắc phục sự cố này cho tôi.
David Douglas

3
Mặc dù công cụ xây dựng sdk 24 được cài đặt. vấn đề của tôi không được giải quyết trên máy mac. Giải quyết điều này bằng cách thủ công tạo ra giấy phép thư mục và tập tin android-sdk-giấy phép như đã giải thích ở trên
kushalvm

52

Tôi gặp sự cố này trên Mac OS X 10.12.1 với Cordova 6.4.0 và Android Studio 2.2.3.

Khi tôi cài đặt Android Studio, nó đã cài đặt Nền tảng 25, nhưng không phải nền tảng 24. Để cài đặt 24:

  • Mở Android Studio.
  • Mở ra Android Studio Menu > Preferences.
  • Appearance & Behavior > System Settings > Android SDK
  • Đánh dấu vào ô cho Android 7.0 (Nougat) | 24
  • Nhấn OK và làm theo hướng dẫn.

Lưu ý: đừng quên để điều chỉnh phiên bản Android sang nền tảng SDK mất tích
Hugo H

2
Tôi đã làm điều này, nhưng có lẽ tôi đã tiết kiệm được một chút thời gian bằng cách nhấp vào "Hiển thị chi tiết gói" và chỉ chọn SDK, thay vì cài đặt cả API và Nguồn của Google.
Aaron

Nhiều tuần đã trôi qua kể từ lần xây dựng cuối cùng của tôi. xây dựng lại ứng dụng của tôi một lần nữa Tôi gặp phải vấn đề tương tự ở trên nhưng đã giải quyết được nó sau khi thực hiện giải pháp này.
Jur P

27

Tôi đã có cùng vấn đề y hệt. Sau đó, tôi đã cài đặt "Android 7.0 (API 24)> Nền tảng SDK" và nó đã hoạt động.

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


26

Cách đơn giản nhất để giải quyết vấn đề này là chấp nhận giấy phép bằng cách sử dụng lệnh sau:

Hệ điều hành Windows:

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

Bạn sẽ được trình bày với tuyên bố từ chối trách nhiệm. Để tiếp tục nỗ lực phát triển, bạn cần trả lời 'y' cho tất cả các tuyên bố từ chối trách nhiệm.


25

Đi đến Android\sdk\tools\bin

Không có giải pháp nào ở trên phù hợp với tôi và cuối cùng dòng đơn này đã chấp nhận tất cả các giấy phép Android.

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

1
Nếu windowsngười dùng gặp lỗi. Thử sdkmanager --licenses && sdkmanager --updatevà chấp nhận các giấy phép theo cách thủ công.
Rahmat Ali

Đối với người dùng macO, hãy truy cập / Users / USERNAME / Library / Android / sdk / tools / binyes | ./sdkmanager --licenses. và ./sdkmanager --giúp để biết thêm.
Pushpak Sharma

13

Tôi gặp sự cố, bạn không cần sao chép hoặc tạo bất kỳ thư mục nào, chỉ cần cẩn thận với đường dẫn SDK của bạn, đường dẫn này phải giống với biến môi trường (ANDROID_HOME), đối với tôi thì không giống nhau, không hiểu tại sao.

địa điểm sdk


13

Trong trường hợp của tôi, tôi không sử dụng Android studio (tôi đang sử dụng eclipse). Tôi đã thực hiện bước sau: Được giải quyết chỉ bằng cách chạy lệnh

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

Mà đã tạo một licensesthư mục và thêm một tệp có tên android-sdk-licensebên trong nó.

Sau đó, bạn có thể chạy ( licensestùy chọn không khả dụng trừ khi bạn đã thực hiện bước trên)

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

và chấp nhận giấy phép (tuy nhiên, trong trường hợp của tôi, tôi không cần phải làm điều đó)


9

Tôi đã cài đặt android sdk build-tools 24 (phiên bản hiện tại là 24.0.3) thông qua trình quản lý SDK. Đường dẫn để mở trình quản lý SDK được hiển thị trong tệp img đính kèm. Điều này đã giải quyết vấn đề của tôi Trình quản lý SDK


1
Tôi không thấy hình ảnh đính kèm, nhưng điều này cũng hiệu quả với tôi. Có một nút trong Android Studio cho SDK Manager, và sau đó bạn có thể mở một nhà quản lý độc lập SDK mà sẽ cho phép bạn khá dễ dàng tải về tất cả 24 thứ android
Yonatan Kogan

Một lần nữa tôi lại gặp phải vấn đề tương tự khi cài đặt bằng cách sử dụng bản dựng cordova trong một máy tính khác có hệ điều hành Windows 7. Lần này tôi đã cài đặt các công cụ xây dựng 24. Vì vậy, hãy làm theo các bước được Feyyaz đề cập dưới đây. Đó là cài đặt Android 7.0 (API 24) và hoạt động. Vì vậy, tôi cảm thấy phiên bản cordova mới nhất lớn hơn 6 cần API 24 với công cụ xây dựng 24 hoặc phiên bản cao hơn. Nhưng tôi không tìm thấy bất kỳ tài liệu nào cho điều này trên trang web của họ.
BruS

trên MacOS và Linux, trình quản lý SDK ở mức $ ANDROID_HOME / tools / android
Tony Laidig.

7

Tôi đã có Android SDK bằng cách cài đặt Android Studio và cũng gặp lỗi này. Có một giải pháp đơn giản từ hướng dẫn sử dụng .

  1. Trên máy đã cài đặt Android Studio, hãy nhấp vào Tools > Android > SDK Manager. Ở đầu cửa sổ, lưu ý Vị trí SDK Android .

  2. Điều hướng đến thư mục đó và định vị licenses/thư mục bên trong nó.

    (Nếu bạn không thấy licenses/thư mục, hãy quay lại Android Studio và cập nhật các công cụ SDK của bạn, đảm bảo chấp nhận các thỏa thuận cấp phép. Khi bạn quay lại thư mục chính Android SDK, bây giờ bạn sẽ thấy thư mục.)

  3. Sao chép toàn bộ licenses/thư mục và dán vào Android SDK home directorymáy bạn muốn xây dựng các dự án của mình.


7

Lỗi này có thể xảy ra nếu hệ thống không nhận biến môi trường ANDROID_HOME từ đường dẫn thích hợp. Đảm bảo rằng bạn đã cài đặt Android SDK và đã đặt biến ANDROID_HOME đúng cách thành đường dẫn thích hợp như trong hình ảnh bên dưới:

ANDROID_HOME_PATH

Nếu biến ANDROID_HOME không được xác định, hệ thống sẽ cố gắng chọn đường dẫn từ đường dẫn mặc định (đây có thể không phải là đường dẫn mà Android SDK được xác định, dẫn đến sự cố này).



4

Đó là vì theo mặc định tại thời điểm viết bài này, công cụ Ionic CLI được mặc định là

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

Đó là lý do tại sao nó phàn nàn rằng bạn đã không chấp nhận thỏa thuận cấp phép, nhưng trên thực tế, bạn đã không cài đặt các gói SDK cho Cấp API đó mà chỉ chấp nhận giấy phép.

Vì vậy, những gì bạn cần làm là

  1. Thay đổi phiên bản SDK mục tiêu của bạn
  2. Cài đặt cấp API SDK mới nhất từ Trình quản lý SDK

Thay đổi phiên bản SDK của bạn

Bạn có thể làm điều đó theo cách thủ công và thậm chí xác minh bằng cách chạy

ionic cordova platform add android 

tệp có thể được tìm thấy khi your-awesome-app/config.xml mở nó và thêm dòng này, vì nó bị ẩn như đã nêu ở trên

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

Nếu bạn không chắc chắn Số API LEVEL nào bạn đang nhắm mục tiêu Trình quản lý SDK mở và hãy xem các cấp API (Số) có sẵn trên máy của bạn

Cài đặt gói SDK mới nhất

Bạn có thể thêm các Gói SDK hiện tại mà CLI đang hiển thị, Trong trường hợp của bạn, gói này là 24

Chạy SDK MANAGERvới tư cách quản trị viên

Chạy Trình quản lý SDK với tư cách Quản trị viên

Cài đặt các Gói API SDK mà bạn đang nhắm mục tiêu

Đó là nơi cấp API SDK được viết

Làm sao tôi biết được điều này? Tôi đã làm điều đó vào sáng nay và đó là cách tôi đã giải quyết nó và bây giờ tôi đang chơi Sticky Bubble trên Android để thư giãn một chút.

Chúc bạn triển khai vui vẻ!


Thêm targetSdkVersionvào config.xmltệp đã khắc phục sự cố của tôi. Cảm ơn bạn :)
B Faley

4

Trong trường hợp của tôi (tập lệnh Dockerfile để tạo vùng chứa Android CI - https://github.com/menny/docker_android ), tôi phải thực hiện các bước sau:

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

Hai lưu ý:

  1. Phải tạo một repositories.cfgtệp trống hoặc sdkmanagersẽ chết.
  2. Phải thực hiện tìm nạp / cài đặt các gói trong các cuộc gọi khác nhau, vì không có chỉ báo tiến trình.

4

Đi tới C: \ Users {user} \ AppData \ Local \ Android \ sdk \ tools \ bin

sau đó chạy sdkmanager --licenses

nó sẽ yêu cầu bạn chấp nhận bất cứ điều gì mà các thỏa thuận còn lại được chấp nhận. bạn chỉ cần nhập "y" và nhập.

Sẽ giải quyết vấn đề


Điều này cũng tuyệt vời nếu bạn có một máy chủ xây dựng phải tự động tải xuống sdk.
Roel

Tôi đã thử điều đó và tôi nhận được Couldn't load neither find main class com.android.sdklib.tool.SdkManagerCli. Ý tưởng?
PlayHardGoPro

Điều này có thể hữu ích stackoverflow.com/questions/40718487/… . bạn có thể thử chạy './SdkManagerCli' bên trong thư mục / sdklib / tools.
Lakshitha Ruwan

4

Tôi đang sử dụng Mac và tôi đã giải quyết nó bằng lệnh này:

$ 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

Sau đó, tôi đã có một danh sách 6 giấy phép để chấp nhận và nó đã được giải quyết sau đó.


4

Bạn cũng có thể làm theo cách "chính thức". Chạy " sdkmanager --licenses " trong thư mục tools / bin của cài đặt Android SDK và chấp nhận tất cả các giấy phép. Làm xong!

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

Đối với macOS hoặc Linux, đó là lệnh tương tự.


3

Tôi đã phải cập nhật sdk android

android update sdk --no-ui

tại một thời điểm nào đó, nó sẽ yêu cầu bạn thỏa thuận cấp phép, nhấn y. Sau đó, bạn cần phải loại bỏ nền tảng góc cạnh.


3
  1. Đi tới vị trí SDK Android

C: \ Users \ username \ AppData \ Local \ Android \ sdk \ tools \ bin

  1. Chạy lệnh sdkmanager --licenses

  2. Chấp nhận giấy phép cho SDK


4
Cùng một thông tin đã được đăng nhiều lần. Làm thế nào để bạn cải thiện các câu trả lời hiện có?
Stephen Kennedy

2

Nó cần được cài đặt nền tảng sdk ổn định mới nhất . Tôi đã cài đặt SDK-Platform từ API 25. Nó đã khắc phục sự cố của tôi.Xem Ảnh chụp màn hình bên dưới


2

Vấn đề này đang nổi lên khi đã có phiên bản cũ của SDK Manager trong máy mà từ đó cách tiếp cận của bản dựng Android bị Thay đổi, yêu cầu "android studio". Tôi gặp phải vấn đề này trong Visual Studio liên tục bị tạm dừng với Thông báo lỗi, "Bạn chưa chấp nhận Giấy phép cho phiên bản 25". Giải pháp cho việc này là "Cài đặt Android Studio", sau đó "chuyển đến Biến môi trường" và đặt ANDROID_HOME thành "C: \ Users \\ AppData \ Local \ Android \ Sdk" (Bạn có thể chọn đường dẫn này từ Android Studio, Menu >> Công cụ >> Trình quản lý SDK. Cũng sử dụng cùng một "đường dẫn" của Biến môi trường. Bằng cách này, trình quản lý SDK mới được ánh xạ để nhận bởi Visual Studio Build cho Ứng dụng Cordova.

Điều này chỉ mất 2 ngày nỗ lực của tôi lần thứ hai

Chúc những người khác không lãng phí thời gian của họ vào mớ hỗn độn này


1

Thay đổi bản dựng mục tiêu có thể hoạt động như được tham chiếu tại đây

Nếu bạn muốn chỉ định phiên bản SDK, bạn có thể làm như vậy bằng cách thêm dòng sau vào config.xml trong thư mục gốc của dự án ionic / cordova của bạn

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


1

Hy vọng điều này sẽ hiệu quả với một người nào đó ngoài kia
mà tôi đang gặp phải vấn đề tương tự! Tôi đã có 2 sd, tên là sdk và sdk1. Nó được liên kết mặc định với sdk nhưng cái đang hoạt động là sdk1. Vì vậy, tôi đã đi đến Môi trường Varaible và thêm ANDROID_HOME và đường dẫn của sdk1, tức là trong trường hợp của tôi là C: \ Users \ tripa_000 \ AppData \ Local \ Android \ sdk1 , và nó đã giải quyết được vấn đề của tôi!


0

Đối với tôi, tôi đang xây dựng Ionic bằng lệnh "ionic build android" và tôi cũng gặp phải vấn đề tương tự! Giải pháp đơn giản là

  • Để cài đặt sdk cần thiết
  • Chạy cùng một lệnh trong CMD phải là quản trị viên

0

Tôi vừa gặp sự cố này và điều gì đã giải quyết được vấn đề này cho tôi trên windows, bạn đang sử dụng dòng lệnh và gần đây bạn đã cài đặt android sdk, bạn phải khởi động lại Command Prompt hoặc Power Shell sau khi cài đặt android sdk.


0

Câu trả lời của Mike hoạt động. Nhưng cần phải đặt giấy phép đã tạo dưới giấy phép C: \ Users \ user \ AppData \ Local \ Android \ sdk \.


0

nghĩa là nó không khớp phiên bản SDK Android của cordova với phiên bản bạn đã cài đặt. Ví dụ: cordova hỗ trợ Android SDK 24 nhưng bạn không có sdk Android 24. nó có thể bị ngược lại.


0

Thao tác này sẽ cập nhật SDK Android của bạn và đồng thời chấp nhận giấy phép (ví dụ: dành cho Android 25):

cập nhật android sdk --no-ui --filter build-tools-25.0.0, android-25, extra-android-m2repository


0

Vấn đề đối với tôi là biến ANDROID_HOME của tôi đang được đặt thành một cài đặt khác mà tôi quên là đã tồn tại. Nếu đây là vấn đề của bạn, hãy xóa cài đặt cũ.

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.