我正在尝试使用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管理员:
更新:
我已经在sdkmanager --licenses
和C:\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.0
和6.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
答案 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
运行。
如果上述解决方案不起作用,请遵循此流程。
下载android studio SDK Manager
下载适用于第26版的SDK。
<强>更新强>
根据您的更新,您将在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"