Android 中文API:Signing Your Applications(为APK签名)

Android 中文API:Signing Your Applications(为APK签名)_第1张图片

Android要求所有的app在安装之前,都要安装数字证书。Android利用数字证书去确定app的作者,该证书不需要证书办法机构签署。Android app经常使用自签名证书。App开发者持有证书的private key。

SigningOverview

你可以签名以debug mode或者release mode两种方式签名一个app。你可以在debug模式下开发,在release模式下发布。在debug mode下Android SDK生成了签名证书。在release mode下签名一个apk,你需要生成自己的证书。

Signing in Debug Mode

在debug模式下,签名apk使用的证书是由Android SDK tools生成的。该证书带有一个已知密码的private key(私匙),以至于你可以每次run 和debug应用程序的时候,不需要输入密码。

当你在run or debug 你的项目的时候,Android studio 在debug模式在会自动签名你的app。

      在debugmode下,你可以在虚拟机或者设备上运行,debug应用,但是不可以发布它。

默认的,the debug mode 的配置使用一个拥有已知的密码和一个已知的默认default key的debug keystore(密匙库)。这个debug keystore 位于$HOME/.android/debug.keystore如果该文件不存在,则在编译过程中会自动创建。这个debugbuild typedebugSigningConfig 自动配置。

Signing in Release Mode

在release mode中,签名app应该使用你自己的证书。

1.   create a keystore。A keystore 是包含private key一个二进制文件,你应该把这个文件放在可靠安全的地方。

2.   create a private key。private key 代表着等同于app的一个实体。例如一个人或者一个公司。

3.   为app module 模块增加签名配置。

...
android {
    ...
    defaultConfig { ... }
    signingConfigs {
        release {
            storeFile file("myreleasekey.keystore")
            storePassword "password"
            keyAlias "MyReleaseKey"
            keyPassword "password"
        }
    }
    buildTypes {
        release {
            ...
            signingConfig signingConfigs.release
        }
    }
}
...


5.   执行assembleRelease 编译任务。

生成的签名apk 在app/build/apk/app-release.apk

 作者有话说:如果您需要Android中文API,请扫一扫下面的二维码,做技术,我们认真的。

Android 中文API:Signing Your Applications(为APK签名)_第2张图片



你可能感兴趣的:(android,gradle,官方文档)