android 跨平台
最近准备一个android项目。之前没有接触过android项目。偏向java方向。所以android项目准备做跨平台。
在网上看到cordova 可以作跨平台app.这个简单地说即是使用 html + js 完成开发工作。至于cordova 到底是什么,不多赘述,可以自己去网上搜索。
先说使用cordova的步骤。
首先要下载一个node.js 这里是node.js的各个release版本https://nodejs.org/en/download/releases/,可以根据自己需要下载。
注意:cordova版本不对 对jdk版本是有要求的。同时也可能对gradle有版本要求。还有如果下载完gradle不要忘记配置环境变量将XXXX\gradle\bin目录加入换件变量即可。
下载完安装即可。
1安装 cordova
然后使用cmd 进入nodejs安装目录。安装cordova : npm install -g cordova
这里如果要指定版本 可以使用:npm install -g cordova@XXX
安装过程可能会比较慢,等待即可。
安装完成可以使用:cordova -version查看安装的版本
2创建android应用
创建第一个andorid 应用
cmd进入nodejs的目录,然后执行:cordova create CordovaProject io.cordova.hellocordova CordovaApp
CordovaProject 是创建应用程序的目录名称。
io.cordova.hellocordova 是默认的反向域值。 如果可能,您应该使用您自己的域值。
CordovaApp 是您应用的标题。
然后进入你创建的 CordovaProject 目录,执行:cordova platform add android
3将应用导入eclipse中
如下图片
可以看到如上生成两个文件,MainActivity就是我们的App,其中CordovaLib是我们的android app依赖的库。
加入eclipse中如果在CordovaLib 这个项目中出现红叉错误,说明android api 版本跟Cordova的版本不一致。
然后在MainActivity中引用Cordova,方法如下
邮件MainActivity项目 --》properties--》java build path --》projects
然后 邮件项目---》properties---》andorid
同时,Cordova--》properties---》android如下
至此一个项目完全导入。
4简单使用
我们可以在项目的assert/www 目录下index.html中直接使用jquery后者js.和 在html 中使用一样。
注意: 最开始使用js 时在低版本的手机上可以正常使用,一旦android手机版本超过4.4.4 js 和jquery的一些事件都不能正常运行。
整了好久才知道原来在index.html(给自动生成的,没有修改)有<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;">
这个是一个csp的安全策略,具体是什么可以自己网上搜索。
所以直接把这句话干掉。在高版本的andorid手机或者模拟器中js和jquery的事件可以正常使用了