Cordova : [Error: Please install Android target: "android-21"

Cordova : [Error: Please install Android target: "android-21"

我刚刚在我的应用程序中更新了 cordova + ionic,之后我通过 Android SDK 管理器成功安装了 Android-SDK v22。

但是在运行命令之后:

cordova build android 

我总是收到以下消息:

Running command: /Users/peter/workspace/myapp/platforms/android/cordova/build 
[Error: Please install Android target: "android-21".

Hint: Open the SDK manager by running: /Users/peter/adt-bundle-mac/sdk/tools/android
You will require:
1. "SDK Platform" for android-21
2. "Android SDK Platform-tools (latest)
3. "Android SDK Build-tools" (latest)]
ERROR building one of the platforms: Error: /Users/peter/workspace/myapp/platforms/android/cordova/build: Command failed with exit code 2
You may not have the required environment or OS to build this project
Error: /Users/peter/workspace/myapp/platforms/android/cordova/build: Command failed with exit code 2
    at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:131:23)
    at ChildProcess.emit (events.js:110:17)
    at maybeClose (child_process.js:1008:16)
    at Process.ChildProcess._handle.onexit (child_process.js:1080:5)

我也试过了

cordova platform rm android 
cordova platform add android 

但结果相同:

我花了几个小时试图找到任何可行的解决方案,但很幸运。

感谢任何建议。

系统信息:

OS: Mac OS X Yosemite
Node Version: v0.12.0
Cordova CLI: 4.3.0
Ionic Version: 0.9.27
Ionic CLI Version: 1.3.18
Xcode version: Xcode 6.2 Build version 6C131e 
ios-sim version: 3.1.1 
ios-deploy version: 1.4.0 

我刚刚遇到了同样的问题。 我不得不改变目标:

# Project target.
target=android-22

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

myApp/platforms/android/project.properties myApp/platforms/android/CordovaLib/project.properties

还应更新清单:

<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="22" />

按照以下步骤操作。
1) 在命令行中键入 android。(确保 ANDROID_HOME 和 PATH 设置正确)
2) Select API 21 来自填充列表。
3) 点击install packages.
4) 在命令行输入android avd
5) 设置API级别和其他配置。
6) 现在输入 ionic build android.

我在 windows 遇到了同样的问题。看来当我是 运行 SDK 管理器时,您必须 select "Run as Administrator" 否则它会拒绝安装某些文件的权限,其中有 "ANDROID-22"

这是我找到的 link 解决此问题的方法: android sdk manger not updating

很多时候问题是没有配置路径环境变量ANDRIOD_HOME。 看看

%ANDROID_HOME% = C:\Program Files (x86)\Android\android-sdk
In Path:
%ANDROID_HOME%\tools;
%ANDROID_HOME%\platform-tools;

打开AndroidSDK管理器,检查目标版本是否存在,如果不存在则安装。

在我的例子中,导致此错误的是我的 SDK 文件夹的路径。

C:\Users\username\AppData\Local\Android\android-sdk

改为

C:\Users\username\AppData\Local\Android\sdk

确保您的项目路径不包含空格。

我遇到同样的问题,要求我在构建时安装目标 android 平台。我已三次确认我的 android sdk 路径、jdk 路径和路径中的各种设置,但仍然出现相同的错误。最后,通过简单地重命名(删除空格)存储我的 Cordova 项目的文件夹解决了这个问题。例如:"C:\Cordova & Phonegap Sample\MyCordovaApp" 到 "C:\Cordova_Sample\MyCordova"。

另一种满足 android 目标要求的方法是:

$sdkmanager "platforms;android-21"

对于 运行 Visual Studio 并且安装了 JavaScript 移动开发的用户, 你可以 运行 C:\ProgramData\Microsoft\AndroidSDK\tools\android.BAT 然后继续安装 Android 5.0.1 或相关的 API.