MacOS安装Android APK编译环境(Gradle)
java jdk安装不再赘述
安装Android sdk-tools
- 下载Android sdk-tools安装包,下载页面 https://developer.android.com/studio
下载地址: https://dl.google.com/android/repository/sdk-tools-darwin-4333796.zip
- 创建ANDROID_HOME目录,我以~/Android目录为例
mkdir ~/Android
unzip -d ~/Android sdk-tools-darwin-4333796.zip
- 修改环境变量文件~/.bash_profile
ANDROID_HOME=/Users/USERNAME/Android
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
source ~/.bash_profile
使环境变量生效
- 使用sdkmanager安装需要的sdk包
sdkmanager --list 列出已安装和可用的包
sdkmanager --licenses 列出6个SDK包的licenses,全都接受一次
sdkmanager platform-tools 安装平台工具包
sdkmanager "build-tools;28.0.3" 安装需要的版本的build工具包
安装Gradle
- 下载
下载页面 https://gradle.org/releases/
- 安装
安装参考页面 https://gradle.org/install/
- 修改环境变量文件~/.bash_profile
export PATH=$PATH:/opt/gradle/bin
source ~/.bash_profile
使环境变量生效
- 验证安装是否成功
#gradle -v
Welcome to Gradle 5.6.3!
Here are the highlights of this release:
- Incremental Groovy compilation
- Groovy compile avoidance
- Test fixtures for Java projects
- Manage plugin versions via settings script
For more details see https://docs.gradle.org/5.6.3/release-notes.html
------------------------------------------------------------
Gradle 5.6.3
------------------------------------------------------------
Build time: 2019-10-18 00:28:36 UTC
Revision: bd168bbf5d152c479186a897f2cea494b7875d13
Kotlin: 1.3.41
Groovy: 2.5.4
Ant: Apache Ant(TM) version 1.9.14 compiled on March 12 2019
JVM: 1.8.0_77 (Oracle Corporation 25.77-b03)
OS: Mac OS X 10.11.6 x86_64
编译前准备
进入项目目录,配置好build.gradle,gradle.properties等等相关文件
./gradlew tasks
列出任务列表,同时会将一切缺少的依赖自动安装好
如果一切就绪,没任何错误的话,就会列出所有可执行的task了
然后就可以执行gradle build
进行编译了
编译好的APK文件在–项目目录/app/build/outputs/apk目录下
对APK进行签名
如果需要发布的APK包,需要用私钥进行签名
- 使用 keytool 生成一个私钥,如下所示:
keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias
上面的示例会提示您输入密钥库和密钥的密码,并提示您在“Distinguished Name”字段中为您的密钥输入相应的名称。随后,它会生成一个名为 my-release-key.jks 的密钥库文件,并将其保存在当前目录中(您可以根据自己的喜好将其移至任何位置)。该密钥库包含一个有效期为 10,000 天的密钥。
- 对APK进行签名
- 使用 zipalign 对齐未签名的 APK:
zipalign -v -p 4 my-app-unsigned.apk my-app-unsigned-aligned.apk
- 通过 apksigner 使用您的私钥为 APK 签名:
apksigner sign --ks my-release-key.jks --out my-app-release.apk my-app-unsigned-aligned.apk
以上两个工具在ANDROID_HOME目录build-tools对应的版本目录下可以找到