升级某些库后,当minifyEnabled设置为true时,subscribe()方法将引发NullPointerException。如果我删除minifyEnabled,则代码工作正常。基本上,将空数据解析为订阅方法。升级gradle之前没有任何问题。有人遇到过这个问题吗?
下面是有问题的代码。该ID将为null。同样,升级之前不是这种情况,只有在gradle中将minifyEnabled设置为true时才会发生。
DataService.INSTANCE
.getId()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(
id -> {
goToView(context, id);
},
t -> {
L.e("Exception happened", t);
}
)
下面是一些环境
RXJava版本:
implementation "io.reactivex.rxjava2:rxjava:2.2.12
implementation "io.reactivex.rxjava2:rxandroid:2.1.1
implementation "com.jakewharton.rxbinding2:rxbinding:2.2.0
implementation "com.jakewharton.rxrelay2:rxrelay:$rootProject.ext.rx2Relay"
implementation "com.squareup.retrofit2:adapter-rxjava2:2.1.1
Gradle Config
shrinkResources true
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'