Cordova 打包签名 Android release app
1.cordova命令创建一个项目
cordova create testApp com.test.app
这里testAPP是项目的名字,testApp com.test.app是APP的包名,可以随意取,最好按照“com.” 开头
cd testApp 进入到刚刚创建的项目目录,可以看到如下文件目录:
说说目录中文件的用处
- hooks:里面就一个readme.md文件,没什么卵用 platfroms:通过cordova platforms add;
- android 添加的安卓相关文件就放在里面,这个文件夹比较重要,打包生成的apk也在这个文件夹下;
- plugins:cordova安装的插件在此文件夹下 res:存放资源文件,我没有用到过;
- www:这个文件下写我们的项目,如html,js,css等代码 .npmignore:忽略文件,没什么用处;
- config.xml:打包项目的配置文件,可以修改APP的包名,应用名称等;
2.cordova命令添加Android平台
cordova platforms add android
如果是想移除Android平台的,可以运行
cordova platforms remove android
也可以安装指定版本的Android平台
cordova platforms add [email protected]
运行命令后,会生成一些新文件夹,node_modules是依赖文件,在platfroms下面会生成新加入的Android平台文件
另外:
安装插件 cordova plugin add 插件名,如:
cordova plugin add cordova-hot-code-push-plugin
卸载插件 cordova plugin remove 插件名,如:
cordova plugin remove cordova-hot-code-push-plugin
查看安装的插件列表
cordova plugin list
3.cordova命令编译打包apk
cordova build android
执行命令后,会在testApp\platforms\android\build\outputs\apk目录下生成一个android-debug.apk,这就完成了一个简单的打包,把这个apk安装在手机上,就可以运行了。
但是,上面生成的是一个测试的apk,没有任何签名信息,不能上架到各大应用平台,下面来讲一下打包一个有签名的apk
apk签名
1.第一步
在项目根目录下运行命令
cordova build --release android
会在testApp\platforms\android\build\outputs\apk目录下生成一个android-release-unsigned.apk
2.第二步
运行命令
keytool -genkeypair -alias name.keystore -keyalg RSA -validity 4000 -keystore name.keystore
执行以上命令后,会要求填写密码口令,单位信息等等,这里需要记住录入的密码,因为最后编译apk的时候还需要用到,在所有的选项都录入完后,按回车,会在项目的根目录下生成一个name.keystore的签名文件,里面就包含刚刚录入的一些信息。
会在根目录下生成一个name.keystore,这是apk独有的签名证书,如下图(命令中的name.keystore中的name是签名文件的名字,这里可以任意取名,我习惯用name.keystore)
3.第三步
将testApp\platforms\android\build\outputs\apk目录下生成一个android-release-unsigned.apk重命名为name_unsigned.apk(我为了与name.keystore对应),并将它和根目录下的name.keystore放在同一目录下
4.第四步
进入dabao这个文件夹下,运行命令
jarsigner -verbose -keystore name.keystore -signedjar name.apk name_unsigned.apk name.keystore
输入之前签名的录入的密码,经过编译,会生成最后的签名版本 name.apk.
至此,就完成了apk的打包签名,希望对大家有所帮助,谢谢