科尔多瓦"你好世界"的应用程序将无法显示

pro*_*rit 8 android cordova

我是Apache Cordova的新手,我无法在Android上显示Cordova"hello world"应用程序.我在谈论从CLI获得的"cordova create"命令获得的默认应用程序.

我阅读了文档并根据需要安装了所有内容(Node.js,npm,Cordova 5.0.0,我已经安装了Android SDK,所以我只需要更新PATH).

科尔多瓦告诉我构建是成功的.

然后它说启动了应用程序,但在设备/模拟器屏幕上唯一改变的是菜单被打开(如下图所示):http://i.stack.imgur.com/F7bI2.jpg

我尝试在模拟器上和真实设备上,结果是一样的.

我检查了API版本,似乎足够高(4.0.3).我在Windows 7下使用Oracle JDK.我想也许一个插件丢失并安装了cordova-plugin-device,但它确实没有改变.

这是一个错误还是我错过了什么?是否有一些意思得到错误报告("cordova run android"命令没有出现异常?)

pro*_*rit 18

我终于明白了.

问题似乎是apk没有正确安装.事实上,当我使用以下命令安装它时,应用程序能够运行(正如jojo在cordova运行中所推荐的android执行正常.但Android 4.1.2无法启动应用程序):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上,您可以在文件平台的第101行找到此命令:\ android\cordova\lib\device.js(以及平台\ android\cordova\lib\emulator.js的第311行cordova emulate android).

我不知道这个"-d"选项是什么意思......这是一个Cordova错误吗?

编辑

正如乔里斯在评论中所说:

-d假设后直接来adb(在--device),而不是安装后.所以你可以把它移到那里而不是删除它.

另外,这是apache cordova问题跟踪器上已打开的问题


Jam*_*111 6

转到平台> android> cordova> lib> Here you will find device.js and emulator.js

emulator.js

emulator.js您必须从 - >更改以下行(311)

return exec('adb -s -d' + resolvedTarget.target + ' install -r -d "' + apk_path + '"', os.tmpdir())

return exec('adb -d -s ' + resolvedTarget.target + ' install -r "' + apk_path + '"')

device.js

device.js您必须从 - >更改以下行(101)

var cmd = 'adb -s ' + resolvedTarget.target + ' install -r -d "' + apk_path + '"';
Run Code Online (Sandbox Code Playgroud)

var cmd = 'adb -d -s ' + resolvedTarget.target + ' install -r "' + apk_path + '"';

一旦你改变了这些重建应用程序并在你的模拟器上运行它!