对于百川SDK签名验证的问题

 

SDK是要在wantu.taobao.com生成的。而生成这个SDK其实是要上传一个apk,而这个上传其实就是取他的签名而已。验证就是那张yw222那张图片。重点是你上传的apk的签名是不是跟你的生成的SDK里面的yw222一致。。。 

 

 最简单的修改验证图片的方式:
1.run--->出现验证图片不一致
2.再build文件夹里面的outputs/apk里面找到apk
3.用这个apk生成ONESDK
4.用这个one里面的安全图片替换掉你当前的安全图片。
问题解决 

 

 

 

 

最近发现很多人对于安卓签名验证这回事还是理解得不是特别清楚。写个文章避免多次回复。首先我们搞清楚几个问题

Q:debug key 和release key的区别。

A:如果用Eclipse的话,debug key是我们直接run走的key.当然是可以改变的,一般不改变的话默认windows路径在C:\Users\Administrator\.android下的debug.keystore.而release key就是我们自己使用export指定的keystore.

     如果用android studio 或者idea  intellij的话,我们指定build.gradle就可以了。给个sample :

signingConfigs {
    debug {
        storeFile file("keystore")
        storePassword "123456"
       
keyAlias "123456"
       
keyPassword "123456"
   
}

    release {
        storeFile file("keystore")
        storePassword "123456"
       
keyAlias "123456"
       
keyPassword "123456"
   
}
}

Q:不管是微信,还是最近的百川,还是其他各个平台的鉴权机制原理都是一样的,都是对应签名和appkey.今天我说下百川的鉴权

A:阿里百川是阿里巴巴自己做的一套自己的开发平台,里面接入了很多开放的能力,对于开发者来讲只需要接入百川就可以接入大部分的能力,比如淘宝的商品,高德的地图,还有IM,还有多媒体,包括短视频拍摄SDK(最近集成的,很强大,而且免费)。

百川的机制是这样的:百川平台将从上传的包内提取签名,包名等信息,并加密存储到下载 SDK 中的安全图片。SDK 启动时会校验当前 apk 和图片中的签名信息,以避免发布的安装包被恶意篡改。另外,请注意如下事项: 
1)因为只提取安装包的签名以及包名信息,所以上传时对安装包的内容没有任何要求。 
2)请确保后续开发中用于 apk 签名的 keystore 和上传 apk 所使用的保持一致 
3)如开发过程中或最终发布应用时需要切换其他 keystore,请上传使用新 keystore 签名的 apk 重新生成 SDK,并拷贝下载 SDK 中新的安全图片 ( res/drawable/yw_1222.jpg) 并替换掉当前开发工程中相同位置的同名文件。

所以非常理解清楚debug.key和release key非常重要,因为你export的apk生成对了图片,然后也替换了。但是你还是直接run的。但是你走的还是debug key。这样当然会出问题。

 

Q:使用release key作为debug key:

A:复制 your.keystore -> release.keystore

之后在cmd里面执行下面命令,密码替换为你自己的密码

keytool -changealias -storepass 密码 -keystore release.keystore 

-alias safecampus -destalias androiddebugkey

keytool -keypasswd -storepass 密码 -keystore release.keystore 

-keypass 密码 -alias androiddebugkey -new android

keytool -storepasswd -storepass 密码 -keystore release.keystore 

-new android

eclipse选择debug key:

Preferences -> Android -> Build -> Custom debug keystore

 

posted @ 2015-08-26 09:36  Mulberry_yan  阅读(4504)  评论(1编辑  收藏  举报