2015-05-05 12 views
9

Ich habe Cordova 5.0.0 + Android SDK API 22 (Android 5.1.1) auf ubuntu 12.04 eingerichtet, um eine App zu entwickeln. Wenn ich den BefehlCordova installiert nicht wirklich App auf Android-Gerät

cordova run --device

Builds es die APK ohne Fehler und zeigt

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

die jedoch nicht wirklich die APK mit dem Gerät installiert.

Ich habe versucht, die fertig gebaut APK-Datei mit

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

und es funktionierte zu installieren.

Ich habe versucht, die APK von einem Webserver herunterzuladen und lokal auf dem Gerät zu installieren und es hat auch funktioniert, also nehme ich an, die APK selbst ist in Ordnung und das Gerät wird erkannt.

Wenn die APK bereits auf dem Gerät den Befehl installiert ist

cordova run --device

die gleiche Ausgabe in der Konsole und es beginnt die App auf dem Gerät, aber nicht die neuere Version installieren Sie es gerade gebaut .

mein Android-Gerät ist ein HTC Desire 500 mit Android 4.1.2, während mein Android SDK API 22 (Android 5.1.1) verwendet, könnte das das Problem sein?

Schlussbemerkung: Ich habe ein Setup auf separaten Rechner mit cordova 4.1.2 Setup mit Android SDK API 19 und es baut das Projekt gut und tatsächlich installieren Sie die App.

Ich würde Ihre Eingabe über das, was dieses seltsame Verhalten verursachen könnte, schätzen.

Prost

+0

Danke für die Freigabe der Methode zur manuellen Installation der apk, es half mir erheblich, aus irgendeinem Grund funktioniert cordova Routine nicht für eine Teilmenge von Geräten (Es funktioniert für mein Galaxy S4 aber nicht mein Galaxy W) –

Antwort

6

scheint ein Fehler in Cordova 5.0.0, ich hatte das gleiche Problem und die Antwort von proprit in this thread löste es für mich zu sein:

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! Tolles Stückchen, um herauszufinden, wo Cordova falsch lag. Ich finde, dass Cordova eine Menge Automatisierung verwendet und Dinge, die leicht behoben werden können, sind schwer zu beheben, da Fehlermeldungen nicht angezeigt werden (zumindest in Cordova Tools für VS2015) – Adrian

+0

Vielen Dank! Scheint, dass der Schurke "-d" in Cordova 5.2.0 immer noch "emulator.js" vorhanden war (ich bin mir nicht sicher über die neueste Version). – 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 

Und dann können Sie Ihre App in Ihrem Telefon finden und es ausführen; D

0
cordova emulate android 

funktioniert ab diesem Datum mit der neuesten Version.

Verwandte Themen