当使用Bmob后端云时会有一系列错点,这一点困扰我好久,由于编译器太老,新版本的网络请求不支持。就发生一系列的闪退今天我终于给它逮出来了
当发生下面错误时
这里的意思是说,okhttp3不支持当前的sdk版本,需要切换到26,不过我反复查看sdk也不是13,说明这个okhttp3版本不支持当前的sdk。咱们得给它换换,可以先手动导入sdk,如果还是闪退或提示这种类似的消息时(一般直接本地导入不会怎么提示明显消息,得我们自己看输出消息)所以我们要学会看它,不然根本找不对方法来修复。
我们来修复它吧
首先:我们得让它支持最新的java8特性
compileOptions{
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
我们再来导入他的库
implementation 'cn.bmob.android:bmob-sdk:3.7.8'
implementation "io.reactivex.rxjava2:rxjava:2.2.8"
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
implementation 'com.squareup.okhttp3:okhttp:3.12.0'
implementation 'com.squareup.okio:okio:2.2.2'
implementation 'com.google.code.gson:gson:2.8.5'
我们来看看整体的代码吧
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.0"
defaultConfig {
applicationId "com.mycompany.myapp"
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions{
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
implementation 'cn.bmob.android:bmob-sdk:3.7.8'
implementation "io.reactivex.rxjava2:rxjava:2.2.8"
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
implementation 'com.squareup.okhttp3:okhttp:3.12.0'
implementation 'com.squareup.okio:okio:2.2.2'
implementation 'com.google.code.gson:gson:2.8.5'
}
这里就这样完成了,剩下初始化了