本次接手之前的app混合开发的项目,第一次打包正式app,历时两天,不可避免的踩了所有的坑,记录一下各个坑的避免情况
首先:1、打包文件时是需要新建一个工作空间的,在建这个工作空间的时候,一定要注意的是:cordova create myApp1 org.apache.cordova.myApp myApp2 其中的包名一定要和之前的包名一致,如果是第一次发布的小伙伴就不用注意了,更新新的app的版本的小伙伴要格外注意,不一致是无法上传新的apk的!2、工作空间下的res文件夹中存放app的icon图标,同时在config.xml文件中进行引用,不然就会出现正式app没有图标的情况
第一步:打包未签名的apk包,cordova build android --release (cmd命令中执行)
没什么问题,因为是更新项目,之前的商城中已经有app在服务了。所以config.xml中一定要记得修改version的版本号,必须要大于之前的版本号。(最好将package.json和package-lock.json一起修改了)
说明:version中就是这次的版本号,记得修改。id就是上述说的那个创建的空间的包名,可以在商城中找到上次的包名
第二步:打包签名的apk包。
在这里的第一步是需要有一个签名文件,两种情况:
一、新的发布,可以自己生成一个签名文件
keytool -genkey -v -keystore D:\mytest.keystore -alias mytest -keyalg RSA -validity 20000 (cmd命令中执行)
keytool -genkey -v -keystore D:\mytest.keystore -alias mytest -keyalg RSA -validity 20000
*-keystore D:/mytest.keystore表示生成的证书及其存放路径,如果直接写文件名则默认生成在用户当前目录下;
-alias mytest 表示证书的别名是mytest,不写这一项的话证书名字默认是mykey;
-keyalg RSA 表示采用的RSA算法;
-validity 20000表示证书的有效期是20000天。*
二、已有新的版本,这时候就要用到之前的签名文件,不能随便使用新的签名文件
之前的签名文件的信息,会存在于下面这个文件夹中
接下来就到了打包签名文件的关键时刻了!
将签名文件,可以是*.keystore或者是*.jks文件分别放入之前建的工作空间下和jbk的bin文件夹下,执行