老板要求集成百度钱包,刚听到这个消息的时候我是拒绝的,但是没办法,谁让我是小员工呢
接下来是我接入百度钱包时的流程(遇到的各种方方面面的问题和解决办法)
一 : 集成: 从官网上下载SDK(https://b.baifubao.com/sp_register/0/page_controller/0?page=access_process),将BaiduWalletSDKLib_business作为moudle添加到自己的项目中,将
添加demo中的assets目录中open_sdk_file.dat文件,bankcard文件夹添加到你项目的assets目录,将Demo中的galaxy.jar作为依赖添加到你项目中
二: 按照他官方的Demo配置权限与Activity
三: 在支付的Actiivty的onCreate方法中的setContentView前加上 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
调用BaiduWallet.getInstance().doPay(),参数info从服务器获取即可.
可能遇到的问题: 1.Java.lang.UnsatisfiedLinkError异常
原因: 这个异常是说apk缺少so文件,在adb打包中会将so文件额外打成一个apk,调用的时候去取,而BaiduWalletSDKLib_business中有一个jnilibs,缺少arm64的so库,在android中so库的机制是,如果是cpu为arm64的手机先看你的apk中是否有这个文件夹,如果有,就去这个文件夹中读取,没有,则去armabi-v7a中寻找(向下).
解决办法:在项目的builde.gradle中的android.defaultConfig下添加
ndk {
// 设置支持的SO库架构
abiFilters 'armeabi' ,'x86', 'armeabi-v7a'
}
2.调用doPay一直在登录界面bukai
armeabi-v7a