Android app签名注意事项

来源:互联网 发布:seo软件 编辑:程序博客网 时间:2024/06/05 00:23

有几点问题需要提出来解答

1 为什么需要签名机制

答:个人觉得有三点 1. 防止别人串改自己的程序 2. 签名一致时才可升级 3. apk只有签名后才可以安装在Android系统上,系统要求

2 怎么签名

答:个人觉得有两种方法:1. 使用工具keytool和jarsigner  2.  使用AS或eclipse集成的方法

1 使用工具keytool 和jarsigner签名app

首先,生成.keystore文件,命令:

keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore

利用.keystore文件对apk签名

jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk app-debug.apk demo.keystore 


2.  使用IDE,仅对as情况

可以在Build/Generate signed apk选项签名操作(灵活性很大)

如果不这么做,as默认情况下是生成debug签名,怎么看是debug签名呢,对已生成的apk用如下命令

jarsigner -verify -certs -verbose *.apk


如果是下面的信息, CN=Android Debug等,这是debug签名,debug签名是普遍的签名,是不会允许提交到google play store上的

sm       315 Fri Dec 25 15:39:14 CST 2015 org/joda/time/tz/data/America/Fortaleza


      X.509, CN=Android Debug, O=Android, C=US

      [证书的有效期为15-9-29 上午11:40至45-9-21 上午11:40]

      [CertPath 未验证: Path does not chain with any of the trust anchors]


除非是realease签名,如果要生成release版本的apk,需要对build.gradle进行配置

signingConfigs {    config {        keyAlias ''        keyPassword ''        storeFile file('')        storePassword ''    }}buildTypes {    release {        minifyEnabled false        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'        signingConfig signingConfigs.config    }}

当然你可以对debug签名使用你自己定义的类型,只需要在buildTypes 里面添加

debug{

   signingConfig signingConfigs.config

}


0 0