内容简介:Android应用签名打包
Android要求所有的应用在安装之前需要进行数字证书的签名,Android利用数字证书给来识别应用程序的作者,并且证书不需要由证书颁发机构进行签名。Android应用程序通常使用自签名证书。该应用的程序开发者持有证书的私钥。
签名概览
你可以在debug或者release模式下进行签名。你可以在开发期间在debug模式下对应用进行签名或者将要发布应用时在release模式下对你的应用进行签名。Android SDK在debug模式下生成一个证书对应用进行签名。为了在release模式下对应用签名,你需要生成自己的证书。
Debug模式下签名
在debug模式下,你使用Android SDK tools生成的证书对应用进行签名。这个证书拥有一个私钥和一个公钥,因此你可以在每次更改项目的时候不需要指定密码就可以运行和debug(调试)你的App。
当你通过IDE运行或者调试应用的时候,Android Studio在Debug模式下自动对你的应用进行签名。
你可以运行或者调试一个签名的app在debug模式下通过模拟机或者用USB链接到你的开发机上,但是你不能把debug模式下签名的app发布。
默认的情况下,debug配置使用一个debug keystore,通过公钥和默认已知的密码。debug keystore位于
$HOME/.android/debug.keystore
并且在不存在时创建。debug 构建类型自动配置为使用debug SigningConfig。
若想要获得关于在debug模式下构建和运行app的信息,请参见 Building and Running
Release模式下签名
在release模式,你需要用自己证书对你的app进行签名。
- 创建keystore:keystore是一个包含一些列私钥的二进制文件,你必须保证你的keystore存储在一个安全的地方。
- 创建私钥:一个私钥代表应用被识别,例如一个人或者公司实体。
- 在app modlue的build文件中添加signing configuration:
... android { ... defaultConfig { ... } signingConfigs { release { storeFile file("myreleasekey.keystore") storePassword "password" keyAlias "MyReleaseKey" keyPassword "password" } } buildTypes { release { ... signingConfig signingConfigs.release } } } ...
- 在Android Studio中调用
assembleRelease
构建任务。
在包app/build/apk/app-release.apk
中会用你的release key签名应用。注意:在build file(构建文件)中包含你的release key密码和keystore不是一个良好的安全习惯,你可以配置build file去获取在环境变量中的密码或者构建过程中输入密码。
从环境变量中获取密码:
storePassword System.getenv(“KSTOREPWD”) keyPassword System.getenv(“KEYPWD”)
在构建过程中提示你输入密码,如果你在命令行模式下构建:
storePassword System.console().readLine(“\nKeystore password: “) keyPassword System.console().readLine(“\nKey password: “)
完成这些步骤后你可以在Google Play中发布你的应用。
警告:把你的keystore和私钥放置在一个安全的地方,并且确保你有一个安全的备份。如果你发布一个app到Google Play并且失去了你签名app的key,你将不能发布更新你的app,因为你必须签名所有版本的app用相同的key。
接下来将会详细的介绍如何生成私钥和通过Android Studio签名你的app。
在Android Studio中签名你的app
为了在release模式下签名你的app,请遵循以下步骤:
-
在菜单栏上,点击Build>Generate Signed APK
-
在Generate Signed APK向导窗口中,点击Create new 创建新的keystore,如果你已经有了一个ksystore请转向第4步。
-
在New Key Store窗口,在图1中提供了必要的信息。你的key需要至少在25年验证,所以你可以签名app更新用同样的key通过你的app 生命周期。
图1:在Android Studio中创建keystore
-
在Generate Signed APK 向导窗口,选择一个keysore,一个私钥,并且输入密码,然后点击Next.
图2:在Android Studio上选择一个私钥
-
在下一个窗口为签名的APK选择一个目标并且点击finish.
图3:在Android Studio中生成签名apk
自动签名你的app
在Android Studio中,在构建的过程中你可以配置你的project去自动签名release APK。
-
在项目浏览器中,右点击你的app并且Open Modules Settings.
-
在Project Structure 窗口,在Modules中选择你的app module.
-
点击Signing tab
-
选择你的keystore文件,为signing configuration输入名字并且输入必要的信息。
图4:创建一个signing configuration
-
点击Build Types tab.
-
选择 release 构建
-
在Signing Config,选择你刚刚创建的signing configuration
图5:选择signing configuration
- 点击OK
你也可以在Gradle configuration 文件中指定你的签名配置,更多信息请查看 Configuring Gradle
以上所述就是小编给大家介绍的《Android应用签名打包》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- App 多渠道打包及重签名方案
- 用 Python 制作一个艺术签名小工具,给自己设计一个优雅的签名
- 强随机数应用链链RandDrop已上线——BLS签名实现阈值签名的流程
- [原]数字签名
- iOS 签名机制
- 封装Apk签名工具
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Real-Time Collision Detection
Christer Ericson / CRC Press / 2004-12-22 / USD 98.95
Written by an expert in the game industry, Christer Ericson's new book is a comprehensive guide to the components of efficient real-time collision detection systems. The book provides the tools and kn......一起来看看 《Real-Time Collision Detection》 这本书的介绍吧!