在Ionic 3中出现Android SDK平台26许可证错误。
在Ionic 3中出现Android SDK平台26许可证错误。
我正在尝试在我的Android设备上运行我的Ionic 3项目,命令是ionic cordova run android --device --stacktrace
,但是我得到了以下输出:
...
正在检查C:\Android\android-sdk\licenses中Android SDK平台26的许可证,请注意:未接受Android SDK平台26的许可证。
构建失败:出现异常。
- 问题出在哪里:在配置根项目'android'时出现问题。
您尚未接受以下SDK组件的许可协议:[Android SDK平台26]。在构建项目之前,您需要接受许可协议并通过Android Studio SDK Manager完成缺失组件的安装。或者,如果想要了解如何将许可协议从一台工作站传输到另一台工作站,请访问http://d.android.com/r/studio-ui/export-licenses.html
根据其他问题的建议,人们建议使用Android Studio SDK Manager并安装最新版本,因为那样我将被询问许可证并且必须接受它们,所以我安装了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
中为
(已尝试过6.3.0
和6.2.0
但没有成功)
根据错误提示:
正在检查C:\Android\android-sdk\licenses中Android SDK平台26的许可证,请注意:未接受Android SDK平台26的许可证。
但是我在C:\Android\android-sdk
中没有licenses文件夹,只有在C:\Android\sdk
中有。我应该如何让Ionic去检查实际存在许可证的文件夹?
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
解决方法:
阅读了http://tools.android.com/tech-docs/new-build-system/license上的信息后,我解决了这个问题:
如果你在一台工作站上已经接受了许可协议,但是希望在另一台工作站上构建你的项目,你可以通过复制Android Sdk Home文件夹中已接受的许可证文件夹来导出你的许可证。
所以我只是去了C:\Android\sdk
,然后将许可证文件夹复制到C:\Android\android-sdk
文件夹中,这是Ionic正在搜索许可证的地方。
感谢所有尝试帮助的人。
但是我猜你在问题中没有提到在一个工作站上接受许可证然后在另一个工作站上构建的情况。
但是我在同一台工作站上构建了所有东西,然而错误仍然发生了。
但是奇怪的是许可证文件夹是怎么创建在Android主文件夹之外的。
在Ionic 3中出现了Android SDK Platform 26许可错误。问题的原因是cordova-android版本的问题,解决方法如下:
首先检查cordova-android的版本是否为6.2.3,如果不是,请尝试使用该版本。
如果上述解决方法不起作用,请按照以下步骤进行操作:
1. 下载Android Studio SDK Manager。
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"
对我来说,使用版本6.2.3仍然没有解决问题(错误仍然存在)。但是我已经安装了版本26的SDK(在问题的屏幕截图中可见)。
我尝试了6.3.0和6.2.0,但再次没有成功,仍然提示我没有接受Android SDK Platform 26的许可。在问题的更新中添加了更多信息。