Mac打包Android
Mac 打包 Android
Mac打包Android
Mac 打包 Android
生成签名密钥
1
$ keytool -genkeypair -v -storetype PKCS12 -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 1000
密钥库文件位置:用户主目录(即 cd) 密钥库口令:至少六位数
设置 gradle 变量
- 把 socket.keystore 文件放到你工程中的 android/app 文件夹下。
编辑 ~/.gradle/gradle.properties(全局配置,对所有项目有效)
或是项目目录/android/gradle.properties(项目配置,只对所在项目有效)。如果没有gradle.properties文 件你就自己创建一个,添加如下的代码(注意把其中的****替换为相应密码)
1
2
3
4
MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=*****
MYAPP_RELEASE_KEY_PASSWORD=*****
把签名配置加入到项目的 gradle 配置中
编辑你项目目录下的 android/app/build.gradle,添加如下的签名配置:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
...
android {
...
defaultConfig { ... }
signingConfigs {
release {
if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
storeFile file(MYAPP_RELEASE_STORE_FILE)
storePassword MYAPP_RELEASE_STORE_PASSWORD
keyAlias MYAPP_RELEASE_KEY_ALIAS
keyPassword MYAPP_RELEASE_KEY_PASSWORD
}
}
}
buildTypes {
release {
...
signingConfig signingConfigs.release
}
}
}
...
生成发行 APK 包
1
2
$ cd android
$ ./gradlew assembleRelease
###
碰到的问题:
找不大SDK 位置:
原因是打包命令用的
sudo ./gradlew assembleReleasesudo环境变量差异导致的
解决方法:
- android目录下增加
local.properties文件,加入代码:sdk.dir=/Users/hutao/Library/Android/sdk - 删除之前打包生成的文件 android/app/build 和 /android/.gradle (有时node_modules也需删除),重新使用
./gradlew assembleRelease打包 【推荐】
本文由作者按照 CC BY 4.0 进行授权

