Android studio 应用签名

应用签名


为了确保应用在Android手机安装的唯一性,所以需要对App进行签名;签名之前我们需要明确一个概念:在开发App的时候,不论是在真机还是模拟器上调试,都需要安装一个app_debug.apk,这个debug的apk也是有签名的,但是这个签名是可变的,也是不可控的(不同IDE生成的debug.apk的应用签名不同);所以我们如果要发布App的时候,debug版本是绝对不行的;
正式签名的步骤如下:(Android Studio)

  • Build-->Generate Signed APK
  • 如果你以前发布过该应用,则应该有一个.jks的Key Store,选择这个文件然后输入你当时设置的Key store password, Key alias, Key password值,点击next即可;
  • 如果你没有Key Store(.jks文件),则需要Create New..;输入你的信息(如下),就可新建一个Key Store;(一定保管好这个Key Store)

Generate Signed APK.png
  • 此时生成的app_realease.apk,就是经过签名的正式版apk了;
Debug使用正式签名

如果你的项目中调用过微信,那么你一定骂过微信开发者文档。其他的不多说,其中有一个坑就在应用签名上;在申请应用接入微信的AppID和AppSecret的时候需要填写你的App的应用签名和包名;

App的应用签名可以通过微信提供的签名生成工具获取;


wechat develop.png

其实应用签名就是一个MD5值,类似于:“4c77a8fdf6168705831c55abe3a489b4”这样的值;这个MD5值是根据我们上文填写信息生成的.jks文件和包名通过Hash运算出来的;

那么问题就来了,上文说过,Debug的时候应用签名是随机生成的,但是应用在接入微信调试过程中,在Debug版本中也需要对应用进行正式的签名,如果没有正式签名,微信接入一定不成功!

(这确实是一个坑,当年做微信接入的时候,没有任何资料和博客告诉我这里的应用签名的问题!!!debug时候使用release版本的签名导致微信一直无法调用。。。)

其实这个问题很好解决:debug的时候直接使用.jks签名就好了,只需要在build.gradle中简单设置一下即可:

signingConfigs {
    release {
        //确保我们生成的SampleDemo.jks与build.gradle在同一目录下
        storeFile file("SampleDemo.jks")
        // 这些需要明文写在这里
        storePassword "123456"
        keyAlias "Demo"
        keyPassword "123456"
    }
}
buildTypes {
    // Debug 版本使用正式签名
    debug {
        signingConfig signingConfigs.release
    }
    release {
        signingConfig signingConfigs.release
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}


作者:Torang
链接:http://www.jianshu.com/p/8b0483510bf9
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值