Cordova将应用程序加载到Android模拟器中

时间:2013-07-26 16:21:28

标签: android-emulator cordova

我对Cordova完全不熟悉,但现在我已经安装了Cordova和NPM并安装了Android SDK,并设置了一个看似完美的AVD,直到我想模仿我的项目。由于某种原因,实际的应用程序未加载到模拟器中。

完成以下操作:

marvin:HelloWorld$ cordova -d emulate android
cordova library for "android" already exists. No need to download. Continuing.
Wrote out Android application name to "HelloWorld"
Wrote out Android package name to "com.example.hello"
Calling plugman.prepare for platform "android"
Preparing android project...
Processing configuration changes for plugins.
Iterating over installed plugins: []
Writing out cordova_plugins.js...
Running on emulator for platform "android" via command ""/home/marvin/Development/projects/HelloWorld/platforms/android/cordova/run" --emulator" (output to follow)...

然后启动Android模拟器,但应用程序不存在。有没有人建议解决这个问题,所以我能够在我的模拟器中进行实际测试?

提前谢谢。

8 个答案:

答案 0 :(得分:9)

我遇到了同样的问题,我在android sdk文件夹中缺少PATH到平台工具,在我添加它之后,一切都已到位。

答案 1 :(得分:6)

我也有同样的问题;我可以正常运行cordova emulate android命令,模拟器最终会启动并运行,但是,测试应用程序从未安装在设备上。我没有从Cordova CLI或控制台或其他任何错误中获得任何错误。

我发现此处有关于此问题的错误报告:https://issues.apache.org/jira/browse/CB-4285

此问题已找到两种解决方案:  1.确保您使用的是Oracle JDK,而不是IBM JDK,以及  2.确保模拟启动的AVD的min-target-sdk设置为API 10(Android 2.3.3)或更高版本。 (这是我的问题。)

答案 2 :(得分:3)

有时它可以在模拟器中删除以前安装的应用版本。为此,您还可以选中“擦除用户数据”选项启动它。

仅供记录,其他解决方案都不适用于我。

答案 3 :(得分:1)

我有同样的问题。以下为我解决了。

确保您的AVD的API级别大于您在cordova app中指定的config.xml中指定的minSdkVersion。

答案 4 :(得分:0)

如果还有人遇到此问题:

设备离线时遇到了同样的问题。

如果ddms正在运行,它会查看连接的设备。

adb kill server

而不是运行ddms

答案 5 :(得分:0)

同时确保您的应用ID不以数字或任何其他字符开头,例如" _"。例如,如果您的应用ID为com.4company.MyAppcom._company.MyApp,则它无法在模拟器上加载。第一个是因为Java doesn't allow名称以数字开头,第二个是我认为它是科尔多瓦的东西。

您还应该使用adb logcat在命令行上显示模拟器错误。

答案 6 :(得分:0)

对我来说,应用程序没有启动,因为我在后台运行了第二个模拟器。卸载bluestacks(用于Windows的android模拟器)修复了我的问题。运行" adb logcat"应该告诉你是否有多个模拟器在运行。

答案 7 :(得分:0)

我遇到了同样的问题,这是我使用API​​ 15的模拟器设备。刚刚更新到API 17并解决了问题。