簡體   English   中英

不能接受許可協議 Android SDK 平台24

[英]Can't accept license agreement Android SDK Platform 24

嘗試在 Cordova 項目上安裝 android 平台時出現以下錯誤。 我一直在關注本指南: https://cordova.apache.org/docs/en/latest/guide/cli/

執行以下命令時出錯:$ cordova platform add android --save

配置根項目“android”時出現問題。 您尚未接受以下 SDK 組件的許可協議:[Android SDK 平台 24]。

我已經到處尋找接受 Android SDK Platform 24 許可協議的方法,但沒有真正的運氣。

提前謝謝你。

你也可以只執行

$ANDROID_HOME/tools/bin/sdkmanager --licenses

或者對於 Windows 執行

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

-- 或 --

C:\\Users{您的用戶名}\\AppData\\Local\\Android\\sdk\\tools\\bin\\sdkmanager --licenses

(歸功於@puneet-kumar 的 windows 命令)

我不確定cordova 是如何工作的,但是一旦接受了許可,它就會創建一個文件。 您可以手動創建該文件。 這個問題中有描述,但這里是創建所需許可證文件的命令。

Linux:

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

窗戶:

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

我在使用 Cordova 6.4.0 和 Android Studio 2.2.3 的 Mac OS X 10.12.1 上遇到了這個問題。

當我安裝 Android Studio 時,它安裝了 Platform 25,但沒有安裝 24。要安裝 24:

  • 打開安卓工作室。
  • 打開Android Studio Menu > Preferences
  • Appearance & Behavior > System Settings > Android SDK
  • 勾選適用於Android 7.0 (Nougat) | 24的復選框Android 7.0 (Nougat) | 24 Android 7.0 (Nougat) | 24
  • 單擊確定並按照說明進行操作。

解決此問題的最簡單方法是使用以下命令接受許可證:

視窗操作系統:

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

您將看到免責聲明。 為了繼續您的開發工作,您需要對所有免責聲明回答“y”。

我遇到了完全相同的問題。 然后我安裝了“Android 7.0 (API 24) > SDK Platform”並且它工作正常。

在此處輸入圖片說明

轉到Android\\sdk\\tools\\bin

上述解決方案都不適用於我,最后這一行接受了所有 android 許可證。

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

就我而言,我不使用 Android Studio(我使用的是 eclipse)。 我做了以下步驟:僅通過運行命令解決

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

它創建了一個licenses目錄,並在其中添加了一個名為android-sdk-license的文件。

然后您可以運行(除非您執行了上述步驟,否則licenses選項不可用)

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

並接受許可證(但是,就我而言,我不需要這樣做)

我有這個問題。 您無需復制或創建任何文件夾,只需注意您的 SDK 路徑即可。 它必須與環境變量 (ANDROID_HOME) 相同,這對我來說不一樣。 我不知道為什么。

SDK位置

我通過 SDK 管理器安裝了 android sdk build-tools 24(它是當前版本 24.0.3)。 打開 SDK 管理器的路徑顯示在附加的 img 文件中。 這解決了我的問題SDK Manager

我通過安裝 Android Studio 獲得了 Android SDK,但也出現了此錯誤。 用戶指南中有一個簡單的解決方案。

  1. 在安裝了 Android Studio 的機器上,單擊Tools > Android > SDK Manager 在窗口頂部,注意Android SDK Location

  2. 導航到該目錄並找到其中的licenses/目錄。

    (如果您沒有看到licenses/目錄,請返回 Android Studio 並更新您的 SDK 工具,確保接受許可協議。當您返回 Android SDK 主目錄時,您現在應該會看到該目錄。)

  3. 復制整個licenses/目錄並將其粘貼到您希望構建項目的機器上的Android SDK home directory

如果系統沒有從正確的路徑中獲取 ANDROID_HOME 環境變量,則可能會出現此錯誤。 確保您已安裝 Android SDK 並將 ANDROID_HOME 變量正確設置為適當的路徑,如下圖所示:

ANDROID_HOME_PATH

如果未定義 ANDROID_HOME 變量,系統會嘗試從默認路徑中選擇路徑(這可能不是定義 Android SDK 的路徑,從而導致此問題)。

先決條件

回答

  • 轉到C:\\Users\\{user}\\AppData\\Local\\Android\\sdk\\tools\\bin (您的 android SDK 工具文件夾)

  • 運行sdkmanager --licenses

  • 它會要求您接受尚待接受的任何協議。 你只需要輸入“y”並輸入。

  • 會解決問題

安裝以下組件:

在此處輸入圖片說明

我正在使用 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 個要接受的許可證,然后就解決了。

這是因為在撰寫本文時,默認情況下, Ionic CLI工具默認為

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

這就是為什么它抱怨您不接受許可協議,但實際上您沒有安裝該API級別的SDK 包而單獨接受許可的原因。

所以你需要做的是

  1. 更改您的目標 SDK 版本
  2. SDK Manager安裝最新的 SDK API 級別

更改您的 SDK 版本

您可以手動完成,甚至可以通過運行來驗證

ionic cordova platform add android 

該文件可以在your-awesome-app/config.xml打開它並添加這一行,因為它如上所述隱藏

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

如果您不確定您的目標是哪個API LEVEL 編號,請打開SDK Manager並查看您機器上可用的API 級別(編號)

安裝最新的 SDK 包

您可以添加CLI顯示的當前SDK 包,在您的情況下是24

管理員身份運行SDK MANAGER

以管理員身份運行 SDK Manager

安裝您要定位的SDK API 包

這就是編寫 SDK API 級別的地方

我怎么知道這個? 我今天早上做到了,這就是我解決它的方法,現在我正在Android上玩粘性泡泡來放松一下。

部署愉快!

就我而言(構建 Android CI 容器的 Dockerfile 腳本 - 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. 必須在不同的調用中執行包的獲取/安裝,因為沒有進度指示。

您也可以按照“官方”的方式進行。 在 Android SDK 安裝的tools/bin文件夾中運行“ sdkmanager --licenses ”並接受所有許可。 完成!

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

對於 macOS 或 Linux,這是相同的命令。

它需要安裝最新的穩定sdk 平台 我從 API 25 安裝了 SDK-Platform。它解決了我的問題。 請參閱下面的屏幕截圖

我不得不更新android sdk

android update sdk --no-ui

在某些時候,它會要求您提供許可協議,請按y 之后,您需要移除角平台。

  1. 轉到 Android SDK 位置

C:\\Users\\用戶名\\AppData\\Local\\Android\\sdk\\tools\\bin

  1. 運行命令sdkmanager --licenses

  2. 接受 SDK 許可

當舊版本的 SDK Manager 已在更改 Android 構建方法的機器中時,此問題就會出現,這需要“android studio”。 我在 Visual Studio 中遇到過這個問題,該問題因錯誤消息“您尚未接受版本 25 的許可證”而反復停止。 對此的解決方案是“安裝 Android Studio”,然后“轉到環境變量”並將 ANDROID_HOME 設置為“C:\\Users\\\\AppData\\Local\\Android\\Sdk”(此路徑可以從 Android Studio、Menu >> 工具 >> SDK 管理器。在環境變量的“路徑”中也使用相同的。這樣,新的 SDK 管理器被映射以供 Visual Studio Build for Cordova Application 拾取。

這只是第二次花了我兩天的努力

希望其他人不要在這個爛攤子上浪費時間。

更改目標構建可能會像此處引用的那樣工作

如果要指定 SDK 版本,可以通過將以下行添加到 ionic/cordova 項目根目錄中的 config.xml 來實現

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

您需要手動重新安裝 sdk 這對我有幫助: https : //forum.ionicframework.com/t/you-have-not-accepted-the-license-agreements-of-the-following-sdk-component/69570/ 6

“android 更新 sdk --no-ui --filter build-tools-24.0.0,android-24,extra-android-m2repository”

希望這對外面的人有用
我面臨同樣的問題! 我有 2 個 sdk,分別命名為 sdk 和 sdk1。 它默認鏈接到 sdk,但工作的是 sdk1。 所以我去了環境變量並添加了ANDROID_HOME和 sdk1 的路徑,即在我的情況下是C:\\Users\\tripa_000\\AppData\\Local\\Android\\sdk1 ,它解決了我的問題!

對我來說,我正在使用“ionic build android”命令構建 Ionic,但我遇到了同樣的問題! 解決方法很簡單

  • 安裝所需的sdk
  • 在 CMD 中運行相同的命令必須以管理員身份運行

我剛遇到這個問題,在 Windows 上為我解決了什么問題,您使用的是命令行,並且您最近安裝了 android sdk,安裝 android sdk 后必須重新啟動命令提示符或 Power Shell。

Mike 的回答有效。但需要將生成的許可證放在 C:\\Users\\user\\AppData\\Local\\Android\\sdk\\licenses 下。

它的平均未匹配 Android SDK 版本的cordova 與您安裝的版本。 例如,cordova 支持 Android SDK 24,但您沒有 Android sdk 24。它可能相反。

這將更新您的 android SDK 並同時接受許可證(例如 Android 25):

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

我的問題是我的 ANDROID_HOME 變量被設置為我忘記存在的另一個安裝。 如果這是您的問題,請刪除舊安裝。

在 android sdk 管理器中安裝 Android 7 - 平台 24

只是它

If you want to avoid creating the licence folder manually, and in case your sdk is not in the "Users/User" you can go to android studio => Configure => SDK Manager and install any component, i installed the google usb driver from sdk 工具,它會自動在正確的位置生成許可證。

對於仍有此問題的用戶,請安裝目標版本的 Android API。 從 SDK 管理器檢查它。

然后從 tools/bin 文件夾中,您可以運行sdkmanager --licenses

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM