我是 Apache Cordova 新手,我无法在 Android 上显示 Cordova“hello world”应用程序。我说的是从 CLI 的“cordova create”命令获得的默认应用程序。
我阅读了文档并根据需要安装了所有东西(Node.js、npm、Cordova 5.0.0,我已经有一个 Android SDK,所以我只需要更新 PATH)。
Cordova 告诉我构建成功。
然后它说应用程序已启动,但设备/模拟器屏幕上唯一发生变化的是打开了一个菜单(如下图所示):http://i.stack.imgur.com/F7bI2.jpg
我在模拟器和真机上试过,结果是一样的。
我查看了API版本,好像已经够高了(4.0.3)。 我在 Windows 7 下,使用 Oracle JDK。我以为可能缺少一个插件并安装了 cordova-plugin-device,但它并没有改变任何东西。
这是一个错误还是我遗漏了什么? 是否有某种方法可以获取错误报告(“cordova run android”命令没有出现异常)?
最佳答案
我终于明白了。
问题似乎是 apk 没有正确安装。当我使用以下命令安装应用程序时,该应用程序实际上能够运行(如 cordova run android executes fine. But Android 4.1.2 doesn't start the app 中 jojo 所推荐):adb install <path_to_apk>
所以我检查了 Cordova 代码以查看安装 apk 时发生了什么,并手动启动了 Cordova 使用的命令:
adb -s ' + resolvedTarget.target + ' install -r -d "' + apk_path + '"
它返回:“错误:未知选项 -d”!
如果您简单地删除“-d”选项,应用程序将正常运行
cordova run android
。 在 Cordova 5.0.0 上,您会在文件 platforms\android\cordova\lib\device.js 的第 101 行(以及 platforms\android\cordova\lib\emulator.js 的第 311 行找到此命令cordova emulate android
)。
我也不知道这个“-d”选项是什么意思...这是 Cordova 错误吗?
编辑
正如 joris 在评论中所说:
The
-d
is supposed to come directly afteradb
(as in--device
) instead of after install. So you can just move it there instead of removing it.
关于android - Cordova "hello world"应用程序不会显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30149970/