对于百川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
对于百川SDK签名验证的问题的更多相关文章
- 转载 -- Cocoapod方式引入百川SDK -报错[!] Unable to find a specification for `xxx`
[cocopad集成百川sdk官网] iOS需要填写BundleID .BundleID要是当前应用的BundleID.勾选淘宝登录基础包下载SDK. 注意事项:将下载的SDK中的身份图片yw_122 ...
- iOS 阿里百川SDK集成注意点
百川SDK是阿里系OneSDK的终极版本,里面包含了所有的阿里系的基本所有的SDK,集成的时候你只需要勾选对应的你需要的模块,然后生成对应的SDK即可,百川主要是针对帮助APP开发者在各种场景下快速. ...
- 阿里百川SDK初始化失败 错误码是203
由idea换到Androidstudio 了,结果报这个错,之前好好的啊!!! 设置问题:
- 百川sdk----自己的WebViewClient不被执行
我在百川sdk的旺旺群中,追问这个问题N多次,一直没有人答复,哎,凡事都要靠自己..... 1.先查看下百川sdk中,是怎么处理咱们传递过去的 WebViewClient public class l ...
- 百川sdk----自己的WebViewClient不被执行【废弃,新版本百川已修复此问题】
我在百川sdk的旺旺群中,追问这个问题N多次,一直没有人答复,哎,凡事都要靠自己..... 1.先查看下百川sdk中,是怎么处理咱们传递过去的 WebViewClient public class l ...
- Could not resolve all files for configuration;Andriod在build.gradle添加compile files()报错
在build.gradle中添加个 compile files('libs/alipaySdk-20170922.jar') 就一直报这个错误 Error:Could not resolve all ...
- Android热修复(HotFix)实战
线上的BUG一直是程序员头疼的问题.有时候仅仅是因为几行的代码,就能让你的用户损失严重.谷歌在Android Studio 加入了Insttan Run 机制.通过Apk动态加载的技术实现了应用非安装 ...
- ios 集成阿里百川的坑-【SDK初始化-iOS】读取身份图片AppKey失败
最简易方法调用淘宝app: 引用文件 #import <AlibcTradeSDK/AlibcTradeSDK.h> AlibcWebViewController* view = [[Al ...
- 趣拍SDK接入问题Android
Android接入趣拍问题. 大部分android开发者第一次下载SDK后,特别是导入到eclipse后,可以运行工程,但点击app中的record没反映,每次点击record按钮 会出现如下log. ...
随机推荐
- 用sql语句写排名
使用SQL语句求排名 表jh03有下列数据: name score aa 99 bb 56 cc 56 dd 77 ee 78 ff 76 gg 78 ff 50 1. 名次生成方式1 , Score ...
- Linux创建新用户以及useradd adduser的区别
从阿里云那弄了个机子玩玩,系统用的是Ubuntu12.04.刚等上去时候是用root登录的,首先想到的就是创建一个用户. 使用 useradd myname 发现/home目录下没有myname的家目 ...
- sqrt (x) 牛顿迭代法
参考: 0开方 是 0 1的开方式 1 2的开方式 1.4 3.的开方=(1.4+3/1.4)/2 牛顿迭代法:学习自 http://blog.csdn.net/youwuwei2012/articl ...
- usaco 土地并购 && hdu 玩具装箱
土地并购: Description 约翰准备扩大他的农场,眼前他正在考虑购买N块长方形的土地.如果约翰单买一块土地,价格就是土地的面积.但他可以选择并购一组土地,并购的价格为这些土地中最大的长乘以最大 ...
- JS中多个onload冲突解决办法
一 多个window.onload冲突 在一个页面中有两个JavaScript 分别都用到了window.onload一个是:window.onload=externallinks,另一个是:win ...
- 第十一章、认识与学习 BASH Bash Shell 的操作环境
bash中的变量动不动就说环境变量,真是奇怪,bash只是一个c语言编写的程序而已,跟环境变量有什么关系?如果知道dos的历史的话就知道有个时代是只有命令行界面而没有图形用户界面,这只小小的程序就包揽 ...
- 8-3-COMPETITION
链接:8.3比赛 这次是动态规划里的LCS,LIS,LCIS专场....... A.Common Subsequence 就是:给出两个字符串,求出其中的最长公共子序列的长度~LCS 代码: //me ...
- [struts2]Struts遍历标签<s:iterator>总结 [转]
转至:http://blog.csdn.net/lufeng66/article/details/7338098 struts2的s:iterator 可以遍历 数据栈里面的任何数组,集合等等 以下几 ...
- hdu1698(线段树的区间替换)
HDU1698 #include <bits/stdc++.h> using namespace std; #define Maxn 1001000*4 struct Node{ int ...
- iOS中SQLite知识点总结2
数据库(SQLite) 01-多表查询 格式:select 字段1,字段2,... from 表名1,表名2; 别名:select 别名1.字段1 as 字段别名1,别名2.字段2 as 字段别名2, ...