安卓签名打包成Apk

1.使用keytool命令生成签名密钥

1
keytool -genkey -v -keystore my-release-key.keystore  -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

其中my-release-key.keystore是将要生成的文件名, my-key-alias也是自己取的名称, 都可以修改, 在之后会使用这两个名称, 所以需要记录一下
之后会询问你密钥库口令和密钥口令(两个密码可以不同,之后密钥口令也会用到,所以也不要忘记),以及相关的签名信息,直接填写即可

1+.使用Android Studio IDE 生成密钥

菜单中选择build->Generate Signed APK,
之后点击[Create new…],
直接填写相关信息即可,
最后会生成.jks结尾的文件,.jks和.keystore都可以用作签名,所以使用上没有区别

2.编辑android下的gradle.properties文件

添加如下代码

1
2
3
4
MYAPP_RELEASE_STORE_FILE=my-release-key.keystore    // 之前生成的文件名
MYAPP_RELEASE_KEY_ALIAS=my-key-alias // 生成签名时的alias名称
MYAPP_RELEASE_STORE_PASSWORD=store_password // 密钥库口令
MYAPP_RELEASE_KEY_PASSWORD=password // 密钥口令

3.编辑工程文件中的android/app/build.gradle文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
...  
android {
...
defaultConfig { ... }
signingConfigs {
release {
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
}
}
}

4.在android的目录下使用dos命令行

1
gradlew assembleRelease

5.该命令运行结束之后,会在android/app/build/outputs/apk目录下面生成app-release.apk文件,即可用于发布