cordova用的还多吗(angular使用cordova混合开发)

本文目录
angular使用cordova混合开发
现在我使用angular5开发了一个工程。现在业务需求,希望程序能够以app的形式发布到市场上。为了方便就,直接将现有的程序使用cordova进行封装。
我的操作系统版本是:mac os High Sierra 10.13.1
我安装的androidstudio的版本是:android-studio-ide-171.4443003-mac.dmg
首先安装jdk。
然后在androidstudio里面安装android的sdk。注意cordova支持的版本号。具体查看:
***隐藏网址***
最后在.bash_profile文件里面配置JAVA_HOME。最后效果是
首先安装cordova
然后创建一个工程:
其中hello是工程文件夹的名字,com.example.hello是android需要的id,HelloWorld是应用的名字。
进入这个工程,添加需要平台
检测环境是不是配置对了
在检测cordova需要的环境是不是安装,之后出现这样的提示。
Could not find an installed version of Gradle either in Android Studio,
or on your system to install the gradle wrapper. Please include gradle
in your path, or install Android Studio
这是因为在android studio2.3.1 gradle的位置变了,导致找不到了。
这个时候需要手动安装了。
这样android的环境就配置好了。
将angular工程中所有的文件合并或者拷贝到cordova工程中。合并package.json文件的时候要小心,不要遗漏了什么。
我的package.json文件太长了,就不往上传了。借用一下别人的图片。
使用 ng serve 运行一下工程,发现报错:
Cannot read property ’config’ of null TypeError: Cannot read property ’config’ of null @angular/cli/tasks/serve.js @angular/cli/commands/serve.js
那是因为angular工程里面的一个隐藏文件.angular-cli没有拷贝到cordova里面去。拷过去之后,再次运行就好了。
在index.html文件里面添加
《script type=”text/javascript” src=”cordova.js”》《/script》
将index.html里面的base修改成:
《base href="."》
安装插件
cordova plugin add cordova-plugin-device
将.angular-cli.json的outDir属性改为“www”.
"outDir": "www"
打开android模拟器,运行命令
就可以出现步骤二的结果了。
img的src所对应的图片没有加载出来。那是因为cordova把img的src转成:
file:///assets/img/check-box-unchecked.png 在android手机里面没有找到这个图片,就报错了。
file:///assets/img/check-box-unchecked.png Failed to load resource: net::ERR_FILE_NOT_FOUND
可以使用插件: cordova-plugin-file 来解决问题
***隐藏网址***
***隐藏网址***
***隐藏网址***
cordova.exec 怎么用
在实际的项目开发中,需要用到 cordova 的插件,进行各个不同平台的辅助开发,我们可以通过 plugins.cordova.io 对现有插件的搜索,以及安装。 插件的安装和使用,详细可以通过查阅 Cordova 的官网文档 The Command-Line Interface
如何使用crosswalk webview
几个月之前尝试使用过一下crosswalk,但是并没有深入研究,还望其他小伙伴补充完善。
首先呢, crosswalk 只是针对安卓平台的。那么我们为什么要使用 crosswalk 呢.因为低于android 4.4 的webview 是一个蹩脚的Android WebKit浏览器内核(android版本越低性能就越差,android 4.4以上已经使用了Chromium ),所以英特尔公司发布了 Crosswalk引擎,可以让 Android 4.0-4.3 的手机上的应用打包 Chromium 引擎而不是 Android WebKit。虽说未来 Android 4.4 会占据更多市场份额,但目前主流的 Android 手机的系统版本毕竟还是 4.1、4.2(4以下的就不说了...)。
cordova 和 crosswalk 的一些差异
安装包的大小,【cordova,一个纯html5的 apk 仅有1.5M左右(不涉及原生功能),涉及到一些原生功能,比如相机、文件系统、推送等因为需要加入插件,一般 apk 在 5M 左右】,而【crosswalk,一个纯html的 apk 就达到了19M左右,如果需要加入杂七杂八的插件,那就是奔着25M去了】,天朝流量还是很贵的....(用户一看app这么大,算了不下了...)
开发的简便性, 【我是一个专职 cordova 开发者,所以cordova已经用习惯,这一条可能不够客观,仅供参考】.首先【cordova 3.0+ 的版本开发起来都很方便了,命令行命令行你的应用就搞定了 - -! 】,而【crosswalk集成比较麻烦,也许是我没找到门道.....手动集成导入包什么的总觉得好麻烦啊.....然后我默默的去下载了一个 intelxdk ,因为他能直接打包基于 crosswalk 的应用,但是点了打包之后,发了一个邮件给你让你去下载,这...这....这......我总觉得云打包需要上传代码是不是不太合适啊....】
插件生态圈, crosswalk 虽然能兼容 cordova plugin 但并不是完全一致的,而且并不是所有的cordova plugin 都能用在crosswalk 上
流畅度(大家最关心的应该在这里了...首先我说一下我是用的 App Framework 这个前端框架的,这个现在也是intel的 - -),我测试的手机是 华为 g510 android 4.1.1 的手机,性能并不强,在滚动流畅度和整理流畅度上 crosswalk 不得不承认确实有明显提升,但是个人觉得cordova在安卓上的流畅度也在可以接受的范围之内。【其实说白了,cordova性能确实差一些,但是可以通过一些手段优化来提升性能,或者牺牲一下用户体验,关闭一些没必要的切换动画什么的来提升】
暂时只想到这么多
最后说一下用cordova不就是为了跨平台, 而 crosswalk 是只针对安卓平台的,所以如果你的应用主打ios平台的话,用不用就随意了(我只是这么一说,安卓端的客户还是不能丢的)...
题外话,在 ios 平台上 cordova 已经表现的很完美了(除了万恶的 position:fixed ),跟原生应用并没有太大的差别(也可能是因为我现在做的都不是很复杂的应用...没体现出跟原生的差异性...)。

本文相关文章:
coreldraw12简体中文版下载(到哪下载CorelDraw12又快又好)
2026年9月1日 07:10
桌面虚拟化软件(VMware Workstation是什么)
2026年7月9日 15:20
mysql workbench(mysql workbench 怎麽使用)
2026年6月27日 07:00
iem里约major(IEM里约Major战队巡礼 GamerLegion篇)
2026年10月9日 10:40
oppperror怎么处理(c语言库函数中有error函数吗)
2026年9月25日 12:40
更多文章:
跷二郎腿太低好吗?想要通过贴墙站改正二郎腿影响的话,有哪些要点需要注意
2026年10月11日 05:10
易语言点击js按钮(易语言网页填表怎样点击链接为“javascript:void(0)“的按钮)
2026年10月11日 03:00
compare with造句(用compared with和compared to造句)
2026年10月10日 23:30
tensorflow与keras对应版本(为什么tensorflow2.8没有keras)
2026年10月10日 22:10
maven仓库jar网站(如何在maven仓库中添加jar包)
2026年10月10日 19:50





