对于百川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
?
轉載于:https://www.cnblogs.com/shansheng/p/4759386.html
總結
以上是生活随笔為你收集整理的对于百川SDK签名验证的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转载】C++创建对象的两种方法
- 下一篇: [转] hibernate Mysql