2015-04-01 16 views
47

Ho appena aggiornato cordova + ionic nella mia app, dopodiché ho installato con successo Android-SDK v22 tramite Android SDK manager.Cordova: [Errore: installa Android target: "android-21"

Ma dopo il comando in esecuzione:

cordova build android 

Ho sempre trovato il seguente messaggio:

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) 

ho provato anche

cordova platform rm android 
cordova platform add android 

Ma con lo stesso risultato:

Ho cercato di trovare qualche ora qualsiasi soluzione di lavoro, ma con un po 'di fortuna.

Grazie per qualsiasi consiglio.

Informazioni di sistema:

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 
+3

Does sdk-21 spettacolo in 'lista targets' Android? – laughingpine

+3

se sta chiedendo per Android-21, è necessario installare Android-21. L'installazione 22 non soddisfa il requisito per 21. – ajma

+2

Presumo che non voglia utilizzare 21. Utilizzando ionic come nel mio caso, si "avvia" semplicemente un progetto di materiale sintetico, che preconfigura 21, senza chiederlo. –

risposta

112

Ho appena avuto lo stesso problema. Ho dovuto cambiare il bersaglio:

# Project target. 
target=android-22 

Questo dovrebbe essere fatto in due file:

myapp/piattaforme/android/project.properties myApp/piattaforme/android/CordovaLib/project.properties

Anche il manifest deve essere aggiornato:

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

Questa è la risposta corretta. Voglio solo aggiungere questo: anche se in project.properties, dice che tutto verrà sovrascritto blah blah, basta modificarlo e funzionerà. – haipham23

+1

Ho scritto "android" sulla riga di comando per vedere la mia versione installata che è 23, quindi ho cambiato 22 in questi file a 23 –

+0

ho tutte queste impostazioni, ma continuo a ricevere lo stesso messaggio di errore. cosa esattamente ho bisogno di cambiare in quei file? – Mostafa

24

Seguire questi passaggi.
1) Digitare android sulla riga di comando. (Assicurarsi che ANDROID_HOME e PATH siano impostati correttamente)
2) Selezionare API 21 dall'elenco popolato.
3) Fare clic su install packages.
4) Digitare android avd sulla riga di comando.
5) Impostare il livello API e altra configurazione.
6) Ora digitare ionic build android.

+1

Grazie, il PERCORSO aveva un riferimento a un vecchio sdk di Android - questo è il mio caso per me – Larsi

1

Ho avuto lo stesso problema in Windows. Sembrava che quando eseguivo l'SDK Manager dovessi selezionare "Esegui come amministratore" altrimenti nega il permesso di installare determinati file, su di essi "ANDROID-22"

Ecco il link che ho trovato per risolvere questo numero: android sdk manger not updating

+0

questo risolve il mio problema di installare Android-22 –

10

molte volte il problema è che non viene configurata la variabile di ambiente path ANDRIOD_HOME. Date un'occhiata

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

Aprire Android SDK Manager e verificare se esiste la versione di destinazione, installare se non esiste.

3

Nel mio caso era il percorso della mia cartella SDK a causare questo errore.

C: \ Users \ nome utente \ AppData \ Local \ Android \ android-sdk

cambiato in

C: \ Users \ nome utente \ AppData \ Local \ Android \ SDK

+0

OutlawBruce, grazie mille. Questa è la soluzione ideale –

0

Marchio sicuro che il tuo percorso di progetto non è costituito da spazi.

Devo affrontare lo stesso problema chiedendomi di installare la piattaforma Android di destinazione durante la compilazione. Ho triplo confermare il mio percorso sdk Android, percorso jdk e varie impostazioni nel percorso, ma ottenendo sempre lo stesso errore. Infine, il problema è stato risolto semplicemente rinominato (spazi rimossi) la cartella che memorizza il mio progetto Cordova. Ad esempio: "C: \ Cordova & Esempio PhoneGap \ MyCordovaApp" in "C: \ Cordova_Sample \ MyCordova".

0

un altro modo per soddisfare un requisito di Android potrebbe essere:

$sdkmanager "platforms;android-21" 
Problemi correlati