转载请注明来源: 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. MATLAB 中的randn函数

    matlab函数 randn:产生正态分布的随机数或矩阵的函数 randn:产生均值为0,方差σ^2 = 1,标准差σ = 1的正态分布的随机数或矩阵的函数. 用法: Y = randn(n):返回一 ...

  2. Laravel 的 API 认证系统 Passport 三部曲(二、passport的具体使用)

    GQ1994 关注 2018.04.20 09:31 字数 1152 阅读 1316评论 0喜欢 1 参考链接 Laravel 的 API 认证系统 Passport 三部曲(一.passport安装 ...

  3. Python之__class__.__module__,__class__.__name__

  4. qemu启动vm后,如何host上使用ssh连接?

    qemu启动vm后,如何从host ssh连接vm? qemu启动参数 启动命令: ${cmd_qemu_system} --enable-kvm \ -machine type=q35,accel= ...

  5. pom.xml配置引用项目时不生效

    1 在项目pom.xml配置中引用项目A,但是编译时,取提数引起是B: 2 原因是:[Java Build Path - Projects] 引用的还是老的项目B,删除该引用即可解决.

  6. vim common usage

    vim normal模式下 1.c+i+分隔符,删除分隔符里面的内容(不删除分隔符,c+a+分隔符则包括分隔符一起删掉) 如将光标位于'%s : %d years old ' 中,此时按c+i+'   ...

  7. python闭包浅见

    1.个人理解定义:在一个函数A内部定义一个函数B,并在定义的内部函数B内对这个函数A的变量进行引用,那么内部函数B就是闭包. 2.特性:在内部函数内不能对A函数的变量进行更改 (但是可以将其封装到一个 ...

  8. python装饰器、迭代器、生成器

    装饰器:为已存在的函数或者或者对象添加额外的功能 def wrapper(f): #装饰器函数,f是被装饰的函数 def inner(*args,**kwargs): '''在被装饰函数之前要做的事' ...

  9. xshell连接不了虚拟机处理方法(错误提示:Connection closing...Socket close.Connection closed by foreign host.Disconnected from remote host(localhost) at 08:47:23.)

    一.问题描述:xshell连接不了虚拟机,出现错误提示:Connection closing...Socket close.Connection closed by foreign host.Disc ...

  10. java项目连接access数据库

    1.导入Access_JDBC30.jar到项目中 jar包百度云链接:https://pan.baidu.com/s/10HFM3HomMArvfHjklA_1MA 密码:0qxp 项目名称-> ...