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,请扫一扫下面的二维码,做技术,我们认真的。




更多相关文章

  1. Android(安卓)安全机制
  2. flutter android动态化原理篇
  3. android 签名
  4. eclipse开发android常见错误总结
  5. Unity导出Android工程生成apk安装包流程
  6. 【Android】debug 状态下其签名文件 debug.keystore 相关(如何获
  7. Android增量升级
  8. Android(安卓)apk签名
  9. Android中使用HttpClient访问https时,安全证书的处理

随机推荐

  1. Android 调用.Net WCF服务
  2. Qt on Android:应用截屏
  3. Android(安卓)源码阅读之建立3G网络流程
  4. Android项目构建Apk包流程
  5. Android 属性系统设计分析
  6. Android完全退出App,关闭所有的Activity
  7. Android面试汇总-Android内存和性能优化
  8. android 资源如何查找(AaptAssets)分析
  9. Android线程与ANR
  10. Android布局优化之merge(二)