我已经设置了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
截至该日期,可用于最新版本。