apk签名简介
所有的Android应用程序都要求开发人员用一个证书进行数字签名,Android系统不会安装没有进行签名的应用程序。
在应用程序开发期间,由于是以Debug
调试模式编译的,因此IDE(ADT)根据会自动用默认的密钥和证书来进行签名,而以Release
发布模式编译时,apk文件就不会得到自动签名,这样就需要进行手工签名。
apk签名的好处有:
-
应用程序升级
只有以同一个证书签名,系统才会允许安装升级的应用程序。
如果你采用了不同的证书,那么系统会要求你的应用程序采用不同的包名称,在这种情况下相当于安装了一个全新的应用程序。 -
应用程序模块化
Android 系统可以允许同一个证书签名的多个应用程序在一个进程里运行,系统实际把他们作为一个单个的应用程序,此时就可以把我们的应用程序以模块的方式进行部署,而用户可以独立的升级其中的一个模块。 -
数据或代码共享
Android提供了基于签名的权限机制,那么一个应用程序就可以为另一个以相同证书签名的应用程序公开自己的功能。
Android Studio中apk签名打包步骤
-
选择主菜单中Build/Generate Signed APK...,弹出Generate Signed APK对话框
-
在Generate Signed APK对话框中,因为是第一次对apk的签名,需要先创建签名文件,点击Create new...,弹出New Key Store对话框
点击Key store path:中的浏览选项,选择指定目录KeyStore,同时指定保存的文件名为shellever.jks (文件扩展名自动生成,故不需要手动输入)
> Key store path: ../KeyStore/shellever.jks
> Password: xxxxxxxx
> --------------------------------------------
> Key
> Alias: PixieRobot
> Password: xxxxxx
> Validity (years): 25 (default)
> ----------------
> Certificate
> First and Last Name: shellever
> Organization: shellever.com
> Country Code (XX): cn
-
输入相应的内容后,点击Ok后回到Generate Signed APK对话框
点击Next后,按新的信息对话框中,使用默认的设置,点击Finish即可完成apk签名
> APK Destination Folder: ../app
> Build Type: release
> Flavors:
-
编译完成提示
-
切换至工程浏览模式,查看../app/app-release.apk