我是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问题跟踪器上已打开的问题
转到平台> 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 + '"';
一旦你改变了这些重建应用程序并在你的模拟器上运行它!
| 归档时间: |
|
| 查看次数: |
6206 次 |
| 最近记录: |