望采纳。
参考如下内容:主要有两种方法。一种是使用系统的浏览器组件(IOS中的UIWebView和Android中的WebView),另一方法就是使用整合好的JavaScript引擎。
使用系统的浏览器组件比较容易实现但是更复杂,效率也低。 WebView提供了 addJavascriptInterface 把Java classes注入到JavaScript文本的方法。但是它只支持最原始的几种数据类型,因此也局限了API设计。并且在Android 2.3模拟器上不稳定,在真机上也会遇到 issue #12987的问题。在IOS上更糟 UIWebView没有公共的APIs支持JavaScript到Objective-C的交互(你必须使用似有的APIs才能达到与addJavascriptInterface相同的功能)。
PhoneGap 是基于 UIWebView and WebView的比较出名的项目。开发者被迫使用回调函数从JavaScript APIs得到返回值。这在游戏上效率极低,也更为复杂。
早期的ngCore同样依赖UIWebView来支持iOS。但是这个机制由于其糟糕的表现被取代。
为了获得更好的表现、灵活性、兼容性,嵌入全功能的JavaScript引擎变得更为有效。
关于这个问题,还是看看官网是怎么说的吧:
翻译一下:
听上去蛮不错的,那么我们就开始用它来做一个app吧!
创建应用
如果按照Cordova( http://cordova.apache.org/ )官网所述,直接用npm全局安装 cordova ,并创建应用,你可能遇到以下错误:
此时不要紧张,卸载 cordova ,使用 yarn 重新安装一下,猜测可能和npm版本不兼容。
安装好 yarn 和 cordova 之后,使用cli命令 cordova create MyApp 创建project,此时你可能会遇到以下错误:
这是什么原因呢?
原来我们没有将 yarn 的bin目录加入到环境变量 path ,作为一个Windows僵尸粉,判断出这点还是不难的。执行以下命令,找到 yarn 的bin目录所在:
将 d:\Users\gy.wang\AppData\Local\Yarn\bin 此目录添加到windows环境变量 path
配置好环境,重新打开CLI窗口,我们终于可以顺利地创建 cordova 应用,cordova使用默认模板创建好一个Project。
添加Android平台
在项目根目录下,运行命令 cordova build android 来编译你的项目,你可能遇到以下错误:
原因是啥呢?当前cordova要求的Android版本比较高,需要安装 Android SDK Platform 25 才能顺利编译,怎么办? 装!
打开 Android Studio , 安装SDK
安装成功之后,执行命令 cordova build android ,这次终于成功了!
APK包成功打好,这次我们运行一下,执行命令:
这次我们会遇到 环境坑四
不急,仔细看报错信息的意思是没有可用的设备或模拟器。这个简单,打开Android Studio添加一个:
再次运行 cordova run android , 哈! 这次成功了!
什么!闪退!WTF!
运行命令 cordova run android ,将APK包安装到模拟器上结果又报错了!
离成功就差一步了,别泄气!我们慢慢查找原因~
至此,APP终于搞定了!