2015-05-05 45 views
9

Mam zainstalowaną cordova 5.0.0 + Android SDK API 22 (Android 5.1.1) na Ubuntu 12.04 do opracowania aplikacji. Kiedy uruchomić komendęCordova w rzeczywistości nie instaluje aplikacji na urządzeniu z Androidem.

cordova run --device

buduje bez błędów APK i pokazuje

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

które jednak faktycznie nie instaluje APK do urządzenia.

Próbowałem zainstalować gotowy wbudowany plik APK przy użyciu

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

i to działało.

Próbowałem pobrać APK z serwera WWW i zainstalować go lokalnie na urządzeniu, a także zadziałało, więc zakładam, że sam APK jest OK i urządzenie jest rozpoznawane.

Kiedy APK jest już zainstalowany na urządzeniu polecenia

cordova run --device

wytworzy w konsoli plus to uruchamia aplikację na urządzeniu, ale nie zainstalować nowszą wersję to po prostu zbudowany .

moim urządzeniem z Androidem jest HTC Desire 500 z systemem Android 4.1.2, podczas gdy mój zestaw Android SDK używa interfejsu API 22 (Android 5.1.1) może to być problem?

Ostatnia uwaga: Mam konfigurację na oddzielnej maszynie przy użyciu zestawu Cordova 4.1.2 z Androidem SDK API 19 i dobrze buduje projekt, a właściwie instaluje aplikację.

Byłbym wdzięczny za informację, co może spowodować dziwne zachowanie.

Cheers

+0

Dzięki za udostępnienie metody ręcznej instalacji apk, pomógł mi znacząco, z jakiegoś powodu rutyna cordova nie działa dla podzbioru urządzeń (działa dla mojej Galaxy S4, ale nie dla mojej Galaxy W) –

Odpowiedz

6

Wydaje się być to błąd w Cordova 5.0.0, miałem ten sam problem i odpowiedź przez proprit w this thread rozwiązać go dla mnie:

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

Genialny! Świetnie się psuje, żeby ustalić, gdzie Cordova się nie myli. Zauważyłem, że Cordova używa dużej automatyzacji i rzeczy, które można łatwo naprawić, są trudne do naprawienia, ponieważ komunikaty o błędach nie są wyświetlane (przynajmniej w Cordova Tools for VS2015). – Adrian

+0

Dzięki! Wydaje się, że nieuczciwy '-d' był nadal' emulator.js' w Cordova 5.2.0 (nie jestem pewien co do najnowszego wydania). – 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 

I następnie możesz znaleźć swoją aplikację w telefonie i uruchomić ją; D

0
cordova emulate android 

działa od najnowszej wersji od tej daty.