![](/img/trans.png)
[英]Is Android license agreement the same as Android SDK license agreement?
[英]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\\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 sdk build-tools 24(它是當前版本 24.0.3)。 打開 SDK 管理器的路徑顯示在附加的 img 文件中。 這解決了我的問題SDK Manager
我通過安裝 Android Studio 獲得了 Android SDK,但也出現了此錯誤。 用戶指南中有一個簡單的解決方案。
在安裝了 Android Studio 的機器上,單擊Tools > Android > SDK Manager
。 在窗口頂部,注意Android SDK Location 。
導航到該目錄並找到其中的licenses/
目錄。
(如果您沒有看到licenses/
目錄,請返回 Android Studio 並更新您的 SDK 工具,確保接受許可協議。當您返回 Android SDK 主目錄時,您現在應該會看到該目錄。)
復制整個licenses/
目錄並將其粘貼到您希望構建項目的機器上的Android SDK home directory
。
如果系統沒有從正確的路徑中獲取 ANDROID_HOME 環境變量,則可能會出現此錯誤。 確保您已安裝 Android SDK 並將 ANDROID_HOME 變量正確設置為適當的路徑,如下圖所示:
如果未定義 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 包而單獨接受許可的原因。
所以你需要做的是
更改您的 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 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
兩個注意事項:
repositories.cfg
文件,否則sdkmanager
會死。您也可以按照“官方”的方式進行。 在 Android SDK 安裝的tools/bin文件夾中運行“ sdkmanager --licenses ”並接受所有許可。 完成!
c:\android-sdk\tools\bin>sdkmanager --licenses
對於 macOS 或 Linux,這是相同的命令。
我不得不更新android sdk
android update sdk --no-ui
在某些時候,它會要求您提供許可協議,請按y
。 之后,您需要移除角平台。
C:\\Users\\用戶名\\AppData\\Local\\Android\\sdk\\tools\\bin
運行命令sdkmanager --licenses
接受 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,但我遇到了同樣的問題! 解決方法很簡單
我剛遇到這個問題,在 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.