在Windows上使用Ionic:已安装Android SDK,但仍然出现“错误:请安装Android目标:“android-22”。

14

我已经成功地破坏了之前工作正常的Ionic环境。例如:我下载了演示项目“sidemenu”,并且运行“ionic platform add android”没有任何问题。但是,当我尝试运行“ionic build”时,会得到以下消息:

$ ionic build
Running command: "c:\Program Files\nodejs\node.exe" h:\git\Absolut\hooks\after_p
repare\010_add_platform_class.js h:/git/myapp add to body class: platform-android
Running command: cmd "/s /c "h:\git\Absolut\platforms\android\cordova\build.bat"
"
[Error: Please install Android target: "android-22".

Hint: Open the SDK manager by running: c:\Users\nicsj\AppData\Local\Android\android-sdk\tools\android.BAT
You will require:
1. "SDK Platform" for android-22
2. "Android SDK Platform-tools (latest)
3. "Android SDK Build-tools" (latest)]
ERROR building one of the platforms: Error: cmd: Command failed with exit code 2

You may not have the required environment or OS to build this project
Error: cmd: Command failed with exit code 2
    at ChildProcess.whenDone (c:\Users\nicsj\AppData\Roaming\npm\node_modules\co
rdova\node_modules\cordova-lib\src\cordova\superspawn.js:134:23)
    at ChildProcess.emit (events.js:110:17)
    at maybeClose (child_process.js:1015:16)
    at Process.ChildProcess._handle.onexit (child_process.js:1087:5)

我不明白为什么会出现错误信息,因为android-22已经安装了。我也安装了SDK平台工具和构建工具,并且它们都在PATH路径中:

.../c/Program Files (x86)/Java/jdk1.7.0_71/bin:/c/Users/nicsj/AppData/Local/Android/android-sdk/tools:/c/Users/nicsj/AppData/Local/Android/android-sdk/build-tools/22.0.1:/c/Users/nicsj/AppData/Local/Android/android-sdk/platform-tools

Ionic设置:

Cordova CLI: 5.1.1
Gulp version:  CLI version 3.9.0
Gulp local:
Ionic CLI Version: 1.6.4
Ionic App Lib Version: 0.3.8
OS: Windows 7 SP1
Node Version: v0.12.5

安卓软件开发工具包:

C:\Users\nicsj>android list targets
Available Android targets:
----------
id: 1 or "android-22"
     Name: Android 5.1.1
     Type: Platform
     API level: 22
     Revision: 2
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, W
XGA720, WXGA800, WXGA800-7in
 Tag/ABIs : no ABIs.
----------
id: 2 or "android-23"
     Name: Android 6.0
     Type: Platform
     API level: 23
     Revision: 1
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, W
XGA720, WXGA800, WXGA800-7in
 Tag/ABIs : no ABIs.

这个问题是新问题,我不知道是什么原因引起的。有没有建议可以告诉我应该从哪里着手解决?

7个回答

21

首先,对于我的拙劣英语表示歉意。

我曾遇到同样的问题,我通过更改目标来解决了这个问题:

# Project target.    
target=android-22 (I had set this to android-23)

这应该在两个文件中完成:

yourApp/platforms/android/project.properties    
yourApp/platforms/android/CordovaLib/project.properties

另外,应该更新清单(manifest):

<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="23" />

16

我遇到了同样的问题,这个方法对我很有效。我安装了Android Studio,它可以使SDK的管理变得更加容易。

1) 打开Android Studio并单击“配置”选项

2) 然后点击SDK Manager

3) 选择“SDK Platforms”选项卡

4) 接着,选择"Android 5.1.1",也就是API级别22。参考下面的截图。

从Android Studio中选择API版本

5) 点击应用

这将会安装你的构建所需要的android-22。


3

请按照以下步骤一步一步进行,就可以正常运行:

安装指南

请查看Windows注意事项并安装所有软件包。您必须安装Java JDK,并在之后使用以下命令设置环境变量ANDROID_HOME: set ANDROID_HOME="您的Android位置"。希望这能帮到您!


Java JDK已安装并设置了所有路径。我通过NPM重新安装了Ionic和Cordova,但仍然遇到相同的错误。 - veor
你安装了Apache Ant和Android SDK吗? - marian
是的,Android SDK和Ant已安装。与上述相同的错误。 - veor

1

我曾经遇到过同样的问题。问题出在我使用了cmder。将其切换为Windows cmd后,问题得以解决。


0

另一个可能的原因是您在计算机上安装了多个Android SDK,并且Ionic正在查看错误的安装位置。Ionic寻找ANDROID_HOME环境变量,因此请确保它已设置并指向与从Android Studio启动的SDK管理器相同的位置。

修改或添加该环境变量到系统路径变量中,以确保它适用于所有用户(您将不得不重新启动命令提示符以使更改生效)。Windows有两组环境变量,系统和用户,因此如果您以管理员身份运行命令提示符,您可能会获得不同的环境变量。

您可以在此处阅读更多信息: https://superuser.com/questions/625643/why-is-my-path-environment-variable-different-from-the-command-prompt


0
我遇到的问题是我在 D:\ 上运行构建,而 SDK 安装在 C:\ 上。

0

我也尝试了很多设置来使用SDK 22

Config.xml

\platforms\android\project.properties

目标=android-23

\platforms\android\AndroidManifest.xml

platforms\android\CordovaLib\project.properties

目标=android-23

直到我通过命令行接受了SDK 22许可证,才使一切正常。

记得接受或安装新安装的SDK许可证,否则构建过程将显示错误或尝试安装您已安装到系统中的许可证的SDK。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接