📒
notebook
  • Notebook
  • DevOps
    • Git
      • 常见 Git 操作
      • 使用 SSH 连接 Git 远程仓库
      • 使用 GPG Keys 签名 Git 提交
      • Git on macOS
    • Docker
      • macOS 安装配置 Docker
      • CentOS7 安装配置 Docker CE
  • Linux
    • CentOS
      • CentOS7 安装配置 vsftpd
      • CentOS7 设置虚拟内存
      • CentOS7 使用 acme.sh 自动申请免费 SSL 证书
      • CentOS7 修改 SSH 端口号
      • CentOS7 主机初始设置
      • 阿里云 CentOS 主机常见设置
      • CentOS7 安装配置 SS
    • nginx
      • nginx 配置 301 永久重定向
      • nginx 使用 SSL证书配置 HTTPS
      • CentOS7 安装配置 nginx
      • nginx 配置 gzip 压缩
      • nginx 代理静态网页
  • Server
    • Ghost
      • macOS 安装配置 Ghost
      • CentOS7 安装配置 Ghost
    • npm & Yarn
      • Yarn 常用命令
      • CentOS7 安装卸载升级 Yarn
      • npm & Yarn 常见错误处理
      • macOS 安装卸载升级 Yarn
    • Node.js
      • Awesome Node.js
      • CentOS7 安装卸载升级 Node.js
      • macOS 安装卸载升级 Node.js
  • Web
    • Ionic
      • 创建 Ionic & Angular 项目
      • 使用 Ionic & Cordova 构建 Android 应用
      • macOS 搭建 Ionic & Cordova 开发环境
    • CSS
      • CSS 排版技巧
      • Awesome CSS
      • CSS 三栏自适应布局
    • Angular
      • Awesome Angular
      • 创建 Angular 项目
    • HTML
      • HTML head 常用标签
      • HTML 常用 DTD 声明
      • 常用网页语义结构
    • Web 技术标准
    • JavaScript
      • Awesome JavaScript
      • JavaScript 的 eval() 函数详解
  • Mobile
    • H5
      • iOS Safari Web App 配置
  • Development Environment
    • Development Utilities
      • Awesome Windows
      • macOS 安装配置 Homebrew
      • Awesome macOS
      • macOS 安装配置 iTerm2
    • FEED
      • 常用 Gulp 插件
  • Network
    • 常见公共 DNS
  • Technology Stacks for Web Front-End Development
Powered by GitBook
On this page
  • 密钥库和密钥
  • 创建密钥库和密钥
  • 管理密钥库和密钥
  • Android 平台配置
  • Cordova 项目配置
  • 生成 Android 项目
  • 构建 Android 应用
  • 构建测试版
  • 构建发行版
  • 参考文献

Was this helpful?

  1. Web
  2. Ionic

使用 Ionic & Cordova 构建 Android 应用

密钥库和密钥

创建密钥库和密钥

创建 PKCS12 格式密钥库,并新建一个密钥:

keytool -v -genkeypair -keystore <keystore>.keystore -storetype pkcs12 -alias <alias> -keyalg RSA -keysize 2048 -validity 36500

Tips: <keystore> 为密钥库名称,<alias> 为密钥的别名,有效期 36500 天。

输入两次密钥库密码,再输入证书信息,最后输入 Y 确认证书信息完成创建。

由于 JDK 8 的 keytool 工具 bug,在 PKCS12 格式密钥库新建密钥时无法同时创建密码,需要手动给新建的密钥设置密码:

keytool -v -keystore <keystore>.keystore -alias <alias> -keypasswd

管理密钥库和密钥

查看密钥库信息:

keytool -v -list -keystore <keystore>.keystore

查看密钥库里指定的密钥信息:

keytool -v -list -keystore <keystore>.keystore -alias <alias>

密钥库新增密钥:

keytool -v -genkeypair -keystore <keystore>.keystore -alias <alias> -keyalg RSA -keysize 2048 -validity 36500

删除密钥库里指定密钥:

keytool -v -delete -keystore <keystore>.keystore -alias <alias>

修改密钥库密码:

keytool -v -keystore <keystore>.keystore -storepasswd

修改密钥库指定密钥密码:

keytool -v -keystore <keystore>.keystore -alias <alias> -keypasswd

修改密钥库指定密钥别名:

keytool -v -keystore <keystore>.keystore -alias <alias> -changealias

Android 平台配置

Cordova 项目配置

打开 Cordova 配置文件 config.xml 。

widget

  • id 应用 ID,一般用倒序写的域名,如 io.ionic.app 。

widget.name

应用的正式名称,会显示在应用商店以及安装后的设备屏幕上。

widget.description

应用描述,会显示在应用商店。

widget.author

应用作者姓名,会显示在应用商店。

  • email 作者邮箱地址,会显示在应用商店。

  • href 应用官网,会显示在应用商店。

生成 Android 项目

使用 Cordova 平台生成 Android 项目:

ionic cordova platform add android
# 删除 npm 包锁定文件
rm -rf package-lock.json

# 使用 Yarn 重新安装依赖
yarn --ignore-optional

构建 Android 应用

构建测试版

构建 Android debug 应用:

ionic cordova build android --prod --debug

Tips: 构建 debug 应用会默认使用 ~/.android/debug.keystore 签名应用。

构建发行版

构建 Android release 应用:

ionic cordova build android --prod --release

使用 zipalign 对 APK 文件归档对齐:

zipalign -v 4 platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk app-release.apk

使用 apksigner 给应用签名:

apksigner sign --ks <keystore>.keystore --ks-key-alias <alias> app-release.apk

验证签名并显示证书信息:

apksigner verify -v --print-certs app-release.apk

参考文献

Previous创建 Ionic & Angular 项目NextmacOS 搭建 Ionic & Cordova 开发环境

Last updated 4 years ago

Was this helpful?

version 应用 Version,采用 <major>.<minor>.<patch> 格式的。

生成 Android 项目时,会安装插件,由于 ,可能会导致依赖安装出错,需要手动重新 使用 Yarn 安装一次依赖:

语义化版本号
Cordova 强制使用 npm 安装插件
keytool
How to create a certificate into a PKCS12 keystore with keytool?
Config.xml
Android Play Store
为您的应用签名
apksigner