簡體   English   中英

Ionic 3 中的 Android SDK Platform 26 許可證錯誤

[英]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 經理:

我的 SDK 經理

更新

我已經在C:\\Android\\sdk\\tools\\binC:\\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.06.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

如果上述解決方案不起作用,請遵循此過程。

  1. 下載 android studio SDK 管理器

  2. 下載版本 26 的 SDK。

    https://developer.android.com/studio/intro/update.html

更新

根據您的更新,您將在 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.

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