4

我对 Cordova 完全陌生,但现在我已经安装了带有 NPM 的 Cordova 并安装了 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模拟器,但应用程序不存在。有没有人有解决这个问题的建议,所以我能够在我的模拟器中进行实际测试?

先感谢您。

4

8 回答 8

8

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

于 2013-08-03T20:49:27.807 回答
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) 或更高。(这是我的问题。)

于 2013-09-13T13:14:39.763 回答
3

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

仅作记录,其他解决方案都不适合我。

于 2014-03-24T09:50:42.977 回答
1

我遇到过同样的问题。以下为我解决了。

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

于 2015-06-12T18:14:23.483 回答
0

如果有人仍然有这个问题:

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

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

adb kill server

然后跑ddms

于 2014-06-10T14:38:15.353 回答
0

还要确保您的应用程序 ID 不以数字或任何其他字符(如“_”)开头。例如,如果您的应用程序 ID 是com.4company.MyApp或者com._company.MyApp它不会加载到模拟器上。第一个是因为Java 不允许名称以数字开头,而第二个我猜是 Cordova 的东西。

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

于 2014-06-22T22:12:04.043 回答
0

对我来说,应用程序没有启动,因为我有第二个模拟器在后台运行。卸载 bluestacks(Windows 的 android 模拟器)解决了我的问题。运行“adb logcat”应该会告诉您是否有多个模拟器正在运行。

于 2015-03-23T20:21:31.043 回答
0

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

于 2015-08-15T08:49:00.673 回答