1. 环境搭建
1.1 安装Node.js
使用node -v
查看Node.js版本
1.2 安装npm
使用npm -v
查看npm版本
1.3 安装ionic
使用npm install -g ionic
命令,全局安装最新版本的ionic
使用ionic -v
查看当前安装的ionic版本
1.4 安装cordova
使用npm install -g cordova
命令全局安装最新版本的cordova
使用cordova
查看当前安装的cordova版本
也可以使用
npm install -g cordova ionic
命令同时安装ionic和cordova。
2. 创建ionic项目
使用ionic start appName tabs
命令创建ionic项目,其中appName为应用名称。
3. ionic项目打包
3.1 打web包
使用ng build
命令。
3.2 打apk包
打npm包可以有以下几种方式:
3.2.1 使用ionic cordova build android
命令
打包成功后会将生成的apk路径显示在终端。
3.2.2 使用ionic cordova build android --prod --release
命令或者使用cordova build --release android
命令
打包成功后会将生成的apk路径显示在终端。
4. 生成签名文件
在终端使用如下命令生成签名文件。
keytool -genkey -v -keystore know_your_brew.keystore -alias know_your_brew.keystore -keyalg RSA -keysize 2048 -validity 10000
注意: 使用你应用的名字来替代know_your_brew,这个命令会生成一个新的文件,在本示例中为know_your_brew.keystore。
强调: 在用keytool生成数字证书时必须保证:-keystore androidapp.keystore -alias androidapp.keystore 两者名称必须相同。否则下一步签名时会出现错误:
jarsigner: 找不到myapp.keystore的证书链。myapp.keystore必须引用包含私有密钥和相应的公共密钥证书链的有效密钥库密钥条目。
keytool命令参数说明:
- -genkey 在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书
- -alias 产生别名
- -keyalg 指定密钥的算法
- -validity 指定创建的证书有效期多少天
- -keysize 指定密钥长度
5. 对apk进行签名
jarsigner -verbose -keystore myapp.keystore -signedjar myapp.apk platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk myapp.keystore
jarsigner命令参数说明:
- [-keystore <秘钥库位置>] 密钥库位置
- -signedjar [apkOut] 签名后的输出文件名