需要的环境:
- jdk
- android sdk
- gradle
1. 下载jdk, jre 并配置环境变量
用户变量添加JAVA_HOME, 值为 D:\jdk (jdk 的安装目录)
系统变量添加 CLASS_PATH, 值为 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
编辑系统变量的Path, 添加 %JAVA_HOME%\bin 和 %JAVA_HOME%\jre\bin
2. 下载 android sdk tools, platform-tools, build-tools, gradle, 并放在 D:\software\android (android sdk 目录)
可以到 http://mirrors.neusoft.edu.cn/android/repository/ 下载 build-tools, 也可以用 sdkmanager下载
注意: build-tools 目录下要建一个版本号的目录, 然后将内容放到 版本号的目录下面, 目录结构如下:
├─build-tools
└─28.0.3
├─lib
├─lib64
└─renderscript
├─clang-include
├─include
└─lib
├─bc
│ ├─arm64-v8a
│ ├─armeabi-v7a
│ ├─x86
│ └─x86_64
├─blas
│ ├─arm64-v8a
│ ├─armeabi-v7a
│ ├─x86
│ └─x86_64
├─intermediates
│ ├─arm64-v8a
│ ├─armeabi-v7a
│ ├─x86
│ └─x86_64
└─packaged
├─arm64-v8a
├─armeabi-v7a
├─x86
└─x86_64
配置相关的环境变量
用户变量添加 ANDROID_HOME, 值为D:\software\android ( android sdk 目录, 存放 tools, platform-tools 等文件)
编辑系统变量Path, 添加
- D:\software\android\gradle-5.1\bin
- D:\software\android\build-tools
- D:\software\android\tools
3. 同意 license, 打开 powershell, 输入下面的命令: 进入android sdk 的目录, 然后用sdkmanager 工具获取license
cd D:\software\android
.\tools\bin\sdkmanager.bat --licenses
生成apk文件
环境准备完成之后, 使用ionic 的 cordova 生成apk 文件
进入项目的目录, 输入如下命令:
ionic cordova build android --prod --release
签名apk文件
目前为止生成的apk安装文件是未签名的,还要进行签名才能正常的安装到android系统上
- 首先进入到apk的目录,在项目下的platforms\android\app\build\outputs\apk\release下面
- 然后利用java的keytool生成密钥存储文件,使用如下命令(我的jre是在D:\jre\bin 下面, 可以根据自己的jre目录相应的进行修改):
D:\jre\bin\keytool.exe -genkey -v -keystore mobileapps.keystore -alias mobileapps -keyalg RSA -keysize 2048 -validity 10000
- 对apk文件进行签名
D:\jdk\bin\jarsigner.exe -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore mobileapps.keystore app-release-unsigned.apk mobileapps
- 使用zipalign对apk进行优化,提高运行速度
D:\software\android\build-tools\28.0.3\zipalign.exe -v 4 app-release-unsigned.apk app-release.apk
注意: 执行后面2个签名和优化命令的时候,将 app-release-unsigned.apk 替换成自己的apk名字
现在,优化后的最终的apk可以正常安装在android系统上了。