Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cordova does not actually install app on android device

I've setup cordova 5.0.0 + android SDK API 22 ( Android 5.1.1 ) on ubuntu 12.04 to develop an app. When I run the command

cordova run --device

it builds without errors the APK and shows

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

which however does NOT actually installs the APK to the device.

I have tried to install the ready built APK file using

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

and it worked.

I have tried to download the APK from a web-server and install it locally on the device and it also worked, so I assume the APK itself is ok and the device is recognized.

When the APK is already installed on the device the command

cordova run --device

produces the same output in the console plus it starts up the app on the device but does not install the newer version it just built.

my android device is an HTC Desire 500 running Android 4.1.2, while my Android SDK is using API 22 ( Android 5.1.1 ) could that be the problem ?

Final note: I have a setup on separate machine using cordova 4.1.2 setup with Android SDK API 19 and it builds the project well and actually DO install the app.

I would appreciate your input on what might cause this strange behavior.

Cheers

like image 291
Soulshards Avatar asked May 05 '15 08:05

Soulshards


2 Answers

Seems to be a bug in Cordova 5.0.0, I had the same problem and the answer by proprit in this thread solved it for 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.

like image 72
Humppakäräjät Avatar answered Nov 19 '22 07:11

Humppakäräjät


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

And then you can find your app in your phone and run it ;D

like image 27
rmartrenado Avatar answered Nov 19 '22 06:11

rmartrenado