关于Cordova项目打包配置,官网其实介绍的都比较详细,而本文所使用的方法也基本都是从官网而来,而且官网上的实现方法多样,本文只取其中感觉比较方便的方法来实现。
1、各变量配置
平时在使用gradle时,什么minSdkVersion、complieSdkVersion等变量都是自己直接定义的。而cordova生成项目里默认是一堆cdvCompileSdkVersion、cdvCompileSdkVersion这种变量,完全看不到对应的值是多少,认真浏览gradle文件可以发现可以在build-extras.gradle文件中对这些变量进行配置。但是默认项目中并没有这个文件啊,没关系在build.gradle文件同级目录下新建一个就是了,至于配置嘛直接按下面格式写就行了。
ext.cdvMinSdkVersion = 18
ext.cdvCompileVersion = 25
有同学说好简单,的确比较简单,但是注意了官网提示build-extras.gradle文件容易被重写或者覆盖(虽然目前我并没有发现这个情况),所以在打包的时候请留意下。
另外,versionCode的配置在cordova项目根目录下的config.xml文件中进行配置
<widget id="io.cordova.hellocordova" version="1.0.0" android-versionCode="1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
细心的小伙伴可能会发现android项目中有也有一个config.xml文件,实际上根目录下的config.xml文件在执行cordova build android时候会修改android项目中config.xml中的version以及versionCode配置。
以上图片为android项目中的config.xml目录以及大致内容。
2、打包过程
把编译相关配置好后,我们就要准备打包了。发布到app store上的apk需要签名,而签名需要秘钥,那么边先生成一个秘钥吧。这里为了方便生成秘钥,使用android studio可视化方法来生成,直接build->generate signed apk->create new来生成。这里生成另一个jks类型的秘钥名字为demo.jks,别名为demo,还需要一些密码啥的,在生成的时候自己随便填写,只要记得住就行。
生成秘钥后,在gradle.build同级目录下创建release-signing.properties文件(如果要打包debug apk,添加一个debug-signing.properties),这个文件名同样可以在build.gradle中找到。创建好文件后,把刚刚生成秘钥时候填写的参数添加到该文件中。
storeFile=demo.jks
storePassword=123456
storeType=jks
keyAlias=demo
keyPassword=654321
到这里准备工作基本结束,最后cd到cordova项目根目录下,执行编译命令
cordova build android --release
耐心等待后,会在项目中生成对应的*-release.apk文件,大功告成。本文只是以android为例来进行的配置,对于其它平台大同小异,也可以参考官网进行配置。
3、参考文档
1、cordova官网:http://cordova.apache.org/docs/en/latest/guide/platforms/android/index.html