常见问题
1 编译不通过
在合成SDK时,会出现编译不通过对问题,通常都是Android SDK版本的过高引起的,解决问题方案如下:
compileSdkVersion 22
buildToolsVersion "23.0.2"
defaultConfig {
minSdkVersion 16
targetSdkVersion 22
}
将编译和目标版本降到22,之所以这么做是为了避免做权限判断
2 获取IMEI码报错
一般是由于Android SDK版本过高取不到权限引起的,解决方案如下两种:
- 降低SDK版本
compileSdkVersion 22
buildToolsVersion "23.0.2"
defaultConfig {
minSdkVersion 16
targetSdkVersion 22
}
- 增加权限
int permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE);
if (permissionCheck != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_PHONE_STATE}, 26);
} else {
//选判断权限 有权限了再调用用户初始化页面
BadamSdk.getInstance().enterBadamSdk(Activity activity);
}
3 调用悬浮窗时报错
3.1 现象
报如下错误:
Caused by: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sytx.zp.mlzj/com.ziipin.badamsdk.ui.PersonalCenterActivity}:
android.view.InflateException: Binary XML file line #241: Error inflating class android.support.v7.widget.RecyclerView
3.2 解决方案
由于着不到RecyclerView,增加依赖就好了,如下:
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.android.support:recyclerview-v7:22.2.0'
4 Oppo等一些特殊机型上面收不到回调
4.1 表现
客户端调用SDK,登录的时候一直停留在登陆页面,没有任何的反应,通过日志显示:
MainActivity.java-75 MainActivity requestCode=170 resultCode=0 data = null
可以看到SDK并没有返回回调,所以客户端就没有办法处理了。
4.2 解决方案
跟踪发现,CP在接入的时候加入了启动模式,如下:
<activity
android:name="com.ziipin.pay.sdk.library.ui.FragmentContainerActivity"
android:launchMode="singleInstance"
android:theme="@style/myTransparent" />
应该去除掉启动模式,操作如下:
<activity
android:name="com.ziipin.pay.sdk.library.ui.FragmentContainerActivity"
android:theme="@style/myTransparent" />
5 点击试玩,提示“Uuid(必填)”
- 问题描述
在普通SDK入口页面,点击试玩,提示Uuid(必填),导入无法以游客的身份进入游戏。
- 解决方案
出现这种问题,是因为在调用如下接口
BadamSdk.getInstance().enterBadamSdk(Activity activity);
时 activity为null导致的,所以在调用的时候需要确保activity不为null,加一个判断就好了;
6 通过模块依赖的方式接入找不到SDK包
- 问题描述
有一些CP厂商在接入第三方SDK的时候,都将第三方SDK作为一个独立模块,主模块依赖这些模块开发,这个时候可能会出现找不到BadamSDK包的情况。
- 解决方案
参考Android Studio版本Demo的实现方式,其中README.md第二点做了具体说明;
或者
用android-fat-aar的方式去是多个模块的构建和打包;
7 关闭按钮遮挡的问题
经常会遇到CP的游戏按钮和H5的关闭按钮重合了这种情况,解决方式有两种:
修改游戏原有按钮的位置
隐藏掉H5的关闭按钮
在样式中加入css样式代码即可:
java
.badamframe-btnbar{display: none;}