Cordova实际上并未在Android设备上安装应用程序



我已经设置了cordova 5.0.0 ubuntu 12.04上的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安装到设备上。

我试图使用

安装Ready已建立的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设备是HTC Desire 500运行Android 4.1.2,而我的Android SDK使用API 22(Android 5.1.1),这可能是问题吗?

最终注意:我使用Cordova 4.1.2设置了使用Android SDK API 19进行设置,它可以很好地构建项目并实际上安装了应用程序。

我将感谢您对可能导致这种奇怪行为的输入。

欢呼

似乎是Cordova 5.0.0中的错误,我有相同的问题,而在此线程中,我的答案是为我解决的:

在Cordova 5.0.0上,ADB命令安装APK可以在线找到 文件平台的101 android cordova lib device.js(在第311行 平台 android cordova lib emulator.js for cordova仿真 Android):

adb -s ' + resolvedTarget.target + ' install -r -d "' + apk_path + '"

当前命令返回给我:"错误:未知选项-D"!如果你 只需删除" -d"选项,应用程序正常使用Cordova运行 运行Android。

cordova build
adb push "<<project_path_here>>platformsandroidbuildoutputsapkandroid-debug.apk" /sdcard/
adb shell pm install -r /sdcard/android-debug.apk

然后您可以在手机中找到您的应用并运行; D

cordova emulate android

截至该日期,可用于最新版本。

最新更新