转载请注明来源: http://blog.csdn.net/kjunchen/article/details/50812391

可直接看看以下的Android Studio中签名应用

Android要求全部的应用在被安装之前进行数字签名认证。Android通过这个数字证书确定应用的作者,然这个证书并不须要特定机构的签字。Android一般使用自己签名的证书,开发人员自己持有证书的密钥。

你能够在调试或公布模式下相应用签名,普通情况下,在调试模式下,Android SDK会为应用自己主动生成一个签名证书。可是在公布模式下签名应用,你须要生成自己的证书。

调试模式下的签名的应用不能进行对外分发。


公布模式下签名应用

1、 创建keystore。keystore是一个包括私人密钥集合的二进制文件,请保存在安全且秘密的地方。

2、 创建私人密钥。私人密钥代表标识应用的组织或团体,如个人或公司。

3、 在app Module的build文件里加入签名配置:

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

4、从Android Studio中请求assembleRelease构建任务。

在包中app/build/apk/app-release.apk 文件就是公布签名打包的。

注意:在build文件里包括密码是不安全的。因此你要在build文件里配置的密码能够从系统环境变量或者进程提示中获取这些密码。

从环境变量中获取:

storePassword System.getenv("KSTOREPWD")
keyPassword System.getenv("KEYPWD")

从进程提示的命令行中获取:

storePassword System.console().readLine("\nKeystore password: ")
keyPassword System.console().readLine("\nKey password: ")

当你完毕这些操作后,就能够在应用市场中公布自己的应用了。

警告: 你必须确保keystore和私人密钥的安全和私密,确保安全备份。

假设你在应用市场中公布后。丢失了签名改应用的密钥库,你将不能进行不论什么更新,由于你对该应用的全部版本号进行签名都必须用同样的密钥。


Android Studio中签名应用

1、在菜单条点击 Build > Generate Signed APK.

2、在Generate Signed APK Wizard窗体,点击Create new去创建一个新的签名证书。假设已经有keystore能够直接进入第4步。

3、在New Key Store窗体中,提供相应的信息。假设你的密钥的有效期设置为25年。那么你的应用在有效期限内更新都必须使用同一个密钥。

(注:一个Key store中能够包括多个Key)

4、在Generate Signed APK Wizard窗体中,选择一个密钥库,一个密钥。输入密码,然后点击Next

5、在这个窗体,选择一个签名应用的保存位置然后点击Finish

接下来稍等片刻Android Studio就会帮你打包好的。

好了这就是签名打包的应用,赶快去个应用市场分发吧。

欢迎加Q群讨论:365532949

Android Studio签名打包应用的更多相关文章

  1. Android Studio签名打包的两种方式

    签名打包的两种方式: 注:给我们自己开发的app签名,就代表着我自己的版权,以后要进行升级,也必须要使用相同的签名才行.签名就代表着自己的身份(即keystore),多个app可以使用同一个签名. 如 ...

  2. Android: Android Studio签名打包的两种方式(zz)

    注:给我们自己开发的app签名,就代表着我自己的版权,以后要进行升级,也必须要使用相同的签名才行.签名就代表着自己的身份(即keystore),多个app可以使用同一个签名. 如果不知道签名是啥意思, ...

  3. Android Studio 签名打包

    项目开发完成后,如果要分发到Google play或者各个第三方渠道,签名打包是必不可少的,下面详细介绍整个签名打包过程,及如何查看签名. 1.创建签名文件 选择要打包的项目-点击Build-在弹出的 ...

  4. 1.9 Android程序签名打包

    本节引言: 本节给大家介绍的是如何将我们的程序打包成Apk文件,并且为我们的Apk签名! 1.什么是签名,有什么用: Android APP都需要我们用一个证书对应用进行数字签名,不然的话是无法安装到 ...

  5. Android 混淆签名打包

    1.混淆文件 proguard-rules.pro # Add project specific ProGuard rules here. # By default, the flags in thi ...

  6. Android studio 使用心得(四)—android studio 多渠道打包(二)

    Android studio 使用心得(四)—android studio 多渠道打包 这篇文章讲了一种打包方式.是直接在android studio 里面可视化操作,结合配置文件.我个人觉得严格上来 ...

  7. Android studio 自定义打包apk名

    Android Studio打包应用默认生成的apk名称是:app-release.apk .如果我们要让生成的apk名跟我们版本包名有联系的话,那我们就要自定义生成的apk名了 需要在build.g ...

  8. [Android Studio] Android studio 多渠道打包(超简洁版)

    [Android Studio] Android studio 多渠道打包(超简洁版) 转载:http://xuyazhou.com/archives/461 http://relex.me/usin ...

  9. Android App签名打包 与 SDK开发文档

    Android App签名打包签名的意义1.为了保证每个程序开发者的合法权益2.放置部分人通过使用相同的Package Name来混淆替换已经安装的程序,从而出现一些恶意篡改3.保证我们每次发布的版本 ...

随机推荐

  1. zabbix3.0.4 部署之八 (zabbix3.0.4 报警前端配置)

    (如何让报警信息推送----微信.邮件)(邮件与微信一样就不在重复) 创建一个用户 将用户加入administrator组 添加之前设置的报警媒介脚本 设置报警等级 创建动作 配置报警内容 设置报警条 ...

  2. 常见的HTTP相应状态码

    200:请求被正常处理204:请求被受理但没有资源可以返回206:客户端只是请求资源的一部分,服务器只对请求的部分资源执行GET方法,相应报文中通过Content-Range指定范围的资源.301:永 ...

  3. vc++实现控制USB设备启用与否

    #include <WINDOWS.H>      #include <TCHAR.H>      #include <SETUPAPI.H>      //#in ...

  4. [转载]MyBatis mapper文件中的变量引用方式#{}与${}的差别

    转载自:http://blog.csdn.net/szwangdf/article/details/26714603 默认情况下,使用#{}语法,MyBatis会产生PreparedStatement ...

  5. CSU 2018年12月月赛 H(2220): Godsend

    Description Leha somehow found an array consisting of n integers. Looking at it, he came up with a t ...

  6. Hadoop2.x异常总结

    问题1: 在执行bin/hdfs namenode -format格式化HDFS命令时,抛出异常,异常如下: 16/10/26 18:32:45 ERROR namenode.NameNode: Fa ...

  7. 80-Force Index,强力指标.(2015.7.1)

    Force Index 强力指标 Index,强力指标.(2015.7.1)" title="80-Force Index,强力指标.(2015.7.1)"> 观井 ...

  8. 计算1+2+...+100之和<for循环的学习>

    #include <stdio.h> /* 计算1+2+....+100 soulsjie 20170525 */ void main(){ int i; int s=0; for(i=0 ...

  9. [luoguP2885] [USACO07NOV]电话线Telephone Wire(DP + 贪心)

    传送门 真是诡异. 首先 O(n * 100 * 100) 三重循环 f[i][j] 表示到第 i 个柱子,高度是 j 的最小花费 f[i][j] = min(f[i - 1][k] + abs(k ...

  10. MVC Ajax.BeginForm重复提交解决方法

    mvc使用MVC Ajax.BeginForm提交的时候有重复提交结果的时候检查相关js文件引用情况, 其中mvc4注意 1 2 3 4 @Scripts.Render("~/bundles ...