Cordova does not actually install app on android device

不问归期 提交于 2019-12-04 19:14:55

问题


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


回答1:


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.




回答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

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




回答3:


cordova emulate android

works for the latest version as of this date.



来源:https://stackoverflow.com/questions/30048429/cordova-does-not-actually-install-app-on-android-device

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!