我在ubuntu 12.04上设置了cordova 5.0.0 + android SDK API 22(Android 5.1.1)来开发应用程序。当我运行命令
时 cordova run --device
它构建没有错误的APK并显示
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
但实际上并没有将APK安装到设备上。
我尝试使用
安装现成的APK文件 adb install -r /var/www/tmp/test-app/platforms/android/build/outputs/apk/android-release-unsigned.apk
并且有效。
我尝试从网络服务器下载APK并在设备上本地安装它也有效,所以我假设APK本身没问题且设备已被识别。
当APK已经在设备上安装了命令
cordova run --device
在控制台中生成相同的输出,并在设备上启动应用程序但不安装刚刚构建的较新版本。
我的Android设备是运行Android 4.1.2的HTC Desire 500,而我的Android SDK使用的是API 22(Android 5.1.1)可能是问题吗?
最后说明:我在使用带有Android SDK API 19的cordova 4.1.2设置的单独机器上进行设置,它可以很好地构建项目并实际安装应用程序。
我很感激您对可能导致这种奇怪行为的看法。
干杯
答案 0 :(得分:6)
似乎是Cordova 5.0.0中的一个错误,我遇到了同样的问题,this thread中 proprit 的答案为我解决了这个问题:
在Cordova 5.0.0上,可以在线找到安装apk的adb命令 101个文件平台\ android \ cordova \ lib \ device.js(和第311行) 用于cordova仿真的平台\ android \ cordova \ lib \ emulator.js 机器人):
adb -s ' + resolvedTarget.target + ' install -r -d "' + apk_path + '"
当前命令返回给我:"错误:未知选项-d"!如果你 只需删除" -d"选项,应用程序正常运行cordova 运行android。
答案 1 :(得分: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
然后你可以在手机中找到你的应用并运行它; D
答案 2 :(得分:0)
cordova emulate android
适用于截至此日期的最新版本。