redrom
redrom

Reputation: 11642

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

I just updated cordova + ionic in my app, after that i installed successfully Android-SDK v22 via Android SDK manager.

But after the running command:

cordova build android 

I always get the following message:

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)

I tried also

cordova platform rm android 
cordova platform add android 

But with the same result:

I tried to find a few hours any working solution, but with luck.

Thanks for any advice.

System information:

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 

Upvotes: 52

Views: 72516

Answers (9)

gyosifov
gyosifov

Reputation: 3223

For those who run Visual Studio and have Mobile Development with JavaScript installed, you can run C:\ProgramData\Microsoft\AndroidSDK\25\tools\android.BAT and then proceed to install Android 5.0.1 or the relevant API.

enter image description here

Upvotes: 0

woodz
woodz

Reputation: 817

another way to fulfill an android target requirement would be:

$sdkmanager "platforms;android-21"

Upvotes: 0

Adalard
Adalard

Reputation: 3

Make sure your project path doesn't consist spaces.

I face the same problem asking me to install the target android platform when build. I have triple confirm my android sdk path, jdk path and various setting in path but still getting the same error. Finally, the problem resolved by simply renamed(removed spaces) the folder that store my Cordova project. For example : "C:\Cordova & Phonegap Sample\MyCordovaApp" to "C:\Cordova_Sample\MyCordova".

Upvotes: 0

Shamsher
Shamsher

Reputation: 1761

Follow these steps.
1) Type android on command line.(Make sure ANDROID_HOME and PATH are set properly)
2) Select API 21 from the populated list.
3) Click install packages.
4) Type android avd on command line.
5) Set API level and other config.
6) Now type ionic build android.

Upvotes: 26

OutlawBruce
OutlawBruce

Reputation: 41

In my case it was the path to my SDK folder that was causing this error.

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

changed to

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

Upvotes: 3

Anoop Pete
Anoop Pete

Reputation: 493

Open Android SDK Manager, and check whether the target version exists, Install if not exists.

Upvotes: 1

fede beron
fede beron

Reputation: 111

many times the problem is that not is configurated the path environment variable ANDRIOD_HOME. Take a look

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

Upvotes: 11

gtrfrost
gtrfrost

Reputation: 11

I have been having the same problem in windows. It appeared that when I was running the SDK Manager you have to select "Run as Administrator" otherwise it denies permission to install certain files, on of them being "ANDROID-22"

Here is the the link I found to resolve this issue: android sdk manger not updating

Upvotes: 1

Sebastian G. Marinescu
Sebastian G. Marinescu

Reputation: 2394

I just had the same problem. I had to change the target:

# Project target.
target=android-22

This should be done in two files:

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

Also the manifest should be updated:

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

Upvotes: 114

Related Questions