Ionic 3中的Android SDK Platform 26许可证错误

时间:2017-12-29 18:40:00

标签: android cordova ionic-framework sdk ionic3

我正在尝试使用ionic cordova run android --device --stacktrace在我的Android设备上运行我的Ionic 3项目,但是,我有以下输出:

  

...

     

检查包中的Android SDK平台26的许可证   C:\ Android \ android-sdk \ licenses警告:Android软件包许可证   SDK平台26不被接受。

     

失败:构建因异常而失败。

     
      
  • 出了什么问题:配置根项目'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管理员:

My SDK manager

更新

我已经在sdkmanager --licensesC:\Android\sdk\tools\bin文件夹中运行了C:\Users\User\AppData\Local\Android\sdk\tools\bin命令,并且已接受所有丢失的许可证,但错误仍在继续。

我在package.json中的cordova-android版本:"cordova-android": "~6.3.0"config.xml<engine name="android" spec="~6.3.0" />(已经尝试使用6.3.06.2.0但没有成功)

发生错误:

  

检查包中的Android SDK平台26的许可证   C:\ Android \ android-sdk \ licenses警告:Android软件包许可证   SDK平台26不被接受。

但我C:\Android\android-sdk中没有许可证文件夹,仅在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

10 个答案:

答案 0 :(得分:17)

在SDK文件夹中,您必须在命令提示符下运行。

...\sdk\tools\bin

输入此命令

sdkmanager "platforms;android-26"

答案 1 :(得分:5)

解决!阅读页面上的信息http://tools.android.com/tech-docs/new-build-system/license

  

...

     

如果您已在一个工作站上接受许可协议,但是   希望在不同的项目上构建您的项目,您可以导出您的项目   通过从Android Sdk复制接受的许可证文件夹来获取许可证   家庭文件夹

     

...

所以我只是前往C:\Android\sdk并将许可证文件夹复制到Ionic正在搜索许可证的C:\Android\android-sdk文件夹中。

感谢所有以某种方式试图提供帮助的人。

答案 2 :(得分:0)

检查你的cordova-android版本。 尝试使用cordova-android版本6.2.3运行。

如果上述解决方案不起作用,请遵循此流程。

  1. 下载android studio SDK Manager

  2. 下载适用于第26版的SDK。

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

  3. <强>更新

    根据您的更新,您将在package.json中添加该版本,如下所示

    "cordova-android": "~6.3.0"所以请将此更改为以下格式,如下所示 "cordova-android": "6.3.0" Reference to the Issue

    注意如果上述格式不适用于6.3.0,请尝试使用6.2.0,如下"cordova-android": "6.2.0"

答案 3 :(得分:0)

在我的情况下,使用Visual Studio + Cordova,通过将“{em> licenses ”文件夹从%ANDROID_HOME%文件夹复制到“C:\ProgramData\Microsoft\AndroidSDK\25”来解决此案例,VS取得许可证从那里。

答案 4 :(得分:0)

转到android sdk文件夹,从此处复制licenses文件夹,然后将该文件夹粘贴到以下路径:

C:\Users\intel\AppData\Local\Android\Sdk

答案 5 :(得分:0)

我安装了要求许可的版本后,它开始工作!您可以在Android Studio> SDK Manager中完成此操作

答案 6 :(得分:0)

@Paresh Gami的回答有助于解决我的问题。只是Mac OSX用户的旁注。

完整路径为/ Users / 用户帐户 / Library / Android / sdk / tools / bin /

其中 useraccount 是您当前的系统用户。

答案 7 :(得分:0)

os:Windows 7(64位)

您可以使用blow命令接受SDK lic协议:

转到“ C:\ Users {用户名} \ AppData \ Local \ Android \ sdk \ tools \ bin”

执行命令:sdkmanager“ platforms; android-xx”

node:xx是版本

答案 8 :(得分:0)

我确实尝试了上述技巧,在Mac OS上对我有用的是

$ANDROID_HOME/tools/bin/sdkmanager "build-tools;26.0.1" "platforms;android-26"

答案 9 :(得分:0)

在最新的SDK中,您可以在此位置找到sdkmanager文件

/Users/pareshgami/Library/Android/sdk/cmdline-tools/latest/bin/

此后,我们需要运行相同的命令

sdkmanager "platforms;android-26"