android 跨平台

Go贝壳 2018-04-25

最近准备一个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中

如下图片


android 跨平台
 

可以看到如上生成两个文件,MainActivity就是我们的App,其中CordovaLib是我们的android app依赖的库。

加入eclipse中如果在CordovaLib 这个项目中出现红叉错误,说明android api 版本跟Cordova的版本不一致。

然后在MainActivity中引用Cordova,方法如下

邮件MainActivity项目 --》properties--》java build path --》projects
android 跨平台
 

然后 邮件项目---》properties---》andorid


android 跨平台
 

同时,Cordova--》properties---》android如下

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的事件可以正常使用了

相关推荐