[英]Ionic build error : You have not accepted the license agreements of the following SDK components: [Android SDK Platform 24]
[英]Android SDK Platform 26 license error in Ionic 3
我正在嘗試使用ionic cordova run android --device --stacktrace
在我的 Android 設備上運行我的 Ionic 3 項目,但是,我有以下輸出:
...
在 C:\\Android\\android-sdk\\licenses 中檢查包 Android SDK Platform 26 的許可證警告:不接受包 Android SDK Platform 26 的許可證。
FAILURE:構建失敗,出現異常。
- 出了什么問題:配置根項目“android”時出現問題。
您尚未接受以下 SDK 組件的許可協議:[Android SDK Platform 26]。 在構建項目之前,您需要接受許可協議並使用 Android Studio SDK 管理器完成缺失組件的安裝。 或者,要了解如何將許可協議從一個工作站轉移到另一個工作站,請訪問http://d.android.com/r/studio-ui/export-licenses.html
閱讀其他問題,人們建議使用 Android Studio SDK 管理器並安裝最新版本,因為那樣我會被問到許可證並且必須接受它們,所以我安裝了 Android 8.0 (Oreo) 和 Android API 27,這是最后一個可用的更新,但是,我從未詢問過任何許可證並且錯誤仍然存在。 我的設備通過 USB 電纜連接到 PC(Windows 10),並且啟用了編程器模式以及 USB 調試。 我能做些什么來解決這個問題?
我的 SDK 經理:
更新:
我已經在C:\\Android\\sdk\\tools\\bin
和C:\\Users\\User\\AppData\\Local\\Android\\sdk\\tools\\bin
文件夾中運行了命令sdkmanager --licenses
,並且接受了所有丟失的許可證,但是錯誤繼續。
我在package.json
cordova-android 版本: "cordova-android": "~6.3.0"
和在config.xml
: <engine name="android" spec="~6.3.0" />
(已經嘗試過6.3.0
和6.2.0
沒有成功)
遵循錯誤:
在 C:\\Android\\android-sdk\\licenses 中檢查包 Android SDK Platform 26 的許可證警告:不接受包 Android SDK Platform 26 的許可證。
但是我在C:\\Android\\android-sdk
沒有 licenses 文件夾,只有在C:\\Android\\sdk
。 我如何對許可證真正所在的文件夾進行離子檢查?
ionic info
:
cli packages: (C:\Users\User\AppData\Roaming\npm\node_modules)
@ionic/cli-utils : 1.19.0
ionic (Ionic CLI) : 3.19.0
global packages:
cordova (Cordova CLI) : 7.1.0
local packages:
@ionic/app-scripts : 3.1.0
Cordova Platforms : none
Ionic Framework : ionic-angular 3.9.2
System:
Node : v6.11.2
npm : 3.10.10
OS : Windows 10
Environment Variables:
ANDROID_HOME : C:\Android\android-sdk
Misc:
backend : pro
在 SDK 文件夾中,您必須在命令提示符下運行。
...\sdk\tools\bin
輸入這個命令
sdkmanager "platforms;android-26"
解決了! 閱讀頁面http://tools.android.com/tech-docs/new-build-system/license上的信息:
...
如果您已在一台工作站上接受許可協議,但希望在另一台工作站上構建您的項目,您可以通過從 Android Sdk Home 文件夾中復制已接受的 licenses 文件夾來導出您的許可
...
所以我只是去C:\\Android\\sdk
並將許可證文件夾復制到C:\\Android\\android-sdk
文件夾,這是 Ionic 搜索許可證的地方。
感謝所有以某種方式試圖提供幫助的人。
檢查您的cordova-android 版本。 嘗試使用 cordova-android 版本6.2.3
。
如果上述解決方案不起作用,請遵循此過程。
下載 android studio SDK 管理器
下載版本 26 的 SDK。
更新
根據您的更新,您將在 package.json 中添加版本,如下所示
"cordova-android": "~6.3.0"
因此將其更改為以下格式,如下所示"cordova-android": "6.3.0"
參考
請注意,如果上述格式不適用於6.3.0
,請嘗試與6.2.0
相同,如下所示"cordova-android": "6.2.0"
就我而言,使用 Visual Studio + Cordova,通過將“ licenses ”文件夾從%ANDROID_HOME%
文件夾復制到“ C:\\ProgramData\\Microsoft\\AndroidSDK\\25
”,VS 從那里獲取了許可證。
轉到android sdk
文件夾,從那里復制licenses
文件夾,然后將該文件夾粘貼到以下路徑:
C:\Users\intel\AppData\Local\Android\Sdk
在我安裝了要求許可證的版本后 - 它開始工作了! 您可以在 Android Studio > SDK Manager 中執行此操作
@Paresh Gami 的回答幫助解決了我的問題。 只是 Mac OSX 用戶的一個旁注..
完整路徑是 /Users/ useraccount /Library/Android/sdk/tools/bin/
其中useraccount是您當前的系統用戶。
操作系統:Windows 7(64 位)
你可以使用blow命令接受SDK lic協議:
轉到“C:\\Users{user_name}\\AppData\\Local\\Android\\sdk\\tools\\bin”
執行命令:sdkmanager "platforms;android-xx"
節點:xx 是版本
我確實嘗試了上面提到的技巧,在 Mac OS 上對我有用的方法如下
$ANDROID_HOME/tools/bin/sdkmanager "build-tools;26.0.1" "platforms;android-26"
在最新的 SDK 中,您可以在此位置下找到 sdkmanager 文件
/Users/pareshgami/Library/Android/sdk/cmdline-tools/latest/bin/
之后我們需要運行相同的命令
sdkmanager "platforms;android-26"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.