2015-05-05 29 views
9

Ho installato cordova 5.0.0 + Android SDK API 22 (Android 5.1.1) su ubuntu 12.04 per sviluppare un'app. Quando si esegue il comandoCordova non installa l'app sul dispositivo Android

cordova run --device

costruisce senza errori l'APK e mostra

Total time: 3.177 secs Built the following apk(s): /var/www/tmp/test-app/platforms/android/build/outputs/apk/android-release-unsigned.apk Using apk: /var/www/tmp/test-app/platforms/android/build/outputs/apk/android-release-unsigned.apk Installing app on device... Launching application... LAUNCH SUCCESS

che comunque non installa effettivamente l'APK al dispositivo.

Ho provato ad installare il file APK costruzione disposto usando

adb install -r /var/www/tmp/test-app/platforms/android/build/outputs/apk/android-release-unsigned.apk

e ha funzionato.

Ho provato a scaricare l'APK da un server Web e installarlo localmente sul dispositivo e ha funzionato anche, quindi presumo che l'APK stesso sia ok e che il dispositivo sia riconosciuto.

Quando l'APK è già installato sul dispositivo il comando

cordova run --device

produce lo stesso output nella console più esso si avvia l'applicazione sul dispositivo, ma non installa la versione più recente è appena costruito .

il mio dispositivo Android è un HTC Desire 500 con Android 4.1.2, mentre il mio Android SDK utilizza l'API 22 (Android 5.1.1) potrebbe essere questo il problema?

Nota finale: Ho un setup su una macchina separata utilizzando la configurazione di cordova 4.1.2 con l'API SDK di Android 19 e costruisce bene il progetto e in effetti installa l'app.

Apprezzerei il vostro contributo su ciò che potrebbe causare questo strano comportamento.

Acclamazioni

+0

Grazie per aver condiviso il metodo per installare manualmente l'apk, mi ha aiutato in modo significativo, per qualche motivo la routine di cordova non funziona per un sottoinsieme di dispositivi (funziona per il mio Galaxy S4 ma non per il mio Galaxy W) –

risposta

6

sembra essere un bug in Cordova 5.0.0, ho avuto lo stesso problema e la risposta da proprit in this thread risolto per me:

On Cordova 5.0.0, adb commands to install the apk can be found at line 101 of file platforms\android\cordova\lib\device.js (and at line 311 of platforms\android\cordova\lib\emulator.js for cordova emulate android):

adb -s ' + resolvedTarget.target + ' install -r -d "' + apk_path + '"

Current command returns to me: "Error: unknown option -d"! If you simply delete the "-d" option, applications run normally with cordova run android.

+0

Brilliant! Un bel po 'di spionaggio per determinare dove Cordova stava andando male. Sto scoprendo che Cordova utilizza molta automazione e le cose che possono essere facilmente risolte sono difficili da correggere perché i messaggi di errore non vengono visualizzati, (almeno in Cordova Tools per VS2015) – Adrian

+0

Grazie! Sembra che il rogue '-d' fosse ancora presente' emulator.js' in Cordova 5.2.0 (non sono sicuro dell'ultima versione). – Dunc

2
cordova build 

adb push "<<project_path_here>>\platforms\android\build\outputs\apk\android-debug.apk" /sdcard/ 

adb shell pm install -r /sdcard/android-debug.apk 

E quindi puoi trovare la tua app sul telefono ed eseguirla; D

0
cordova emulate android 

funziona per l'ultima versione a partire da questa data.