minimyEnabled=错误生成成功,minimyEnableD=错误生成失败
build-debugApk成功,但build-releaseApk失败
请帮帮我,我找不到问题
FORCE inlining on non-inlinable: void io.reactivex.rxjava3.disposables.RunnableDisposable.constructor$io$reactivex$rxjava3$disposables$ReferenceDisposable(java.lang.Object)
Stack trace:
com.android.tools.r8.errors.a: FORCE inlining on non-inlinable: void io.reactivex.rxjava3.disposables.RunnableDisposable.constructor$io$reactivex$rxjava3$disposables$ReferenceDisposable(java.lang.Object)
at com.android.tools.r8.ir.conversion.O.b(:57)
at com.android.tools.r8.ir.conversion.O.a(:390)
at com.android.tools.r8.ir.conversion.O.a(:336)
at com.android.tools.r8.utils.U0.a(:10)
...
[CIRCULAR REFERENCE:com.android.tools.r8.errors.a: FORCE inlining on non-inlinable: void io.reactivex.rxjava3.disposables.RunnableDisposable.constructor$io$reactivex$rxjava3$disposables$ReferenceDisposable(java.lang.Object)]
Caused by: com.android.tools.r8.errors.b: FORCE inlining on non-inlinable: void io.reactivex.rxjava3.disposables.RunnableDisposable.constructor$io$reactivex$rxjava3$disposables$ReferenceDisposable(java.lang.Object)
at com.android.tools.r8.graph.T.a(:42)
...
我在RxJava3 3.0.6版本中也遇到了这种现象
原因是R8试图删除该方法并在单个调用站点内联它
请参阅https://developer.android.com/studio/build/shrink-code详细说明
因此,如果我们的应用程序从多个位置调用RunnableDisposable.constructor
,则不会出现此问题
我的意思是,如果使用RunnableDisposable
的两种或更多种扩展类,我们就不会遇到这个问题
解决方法是简单地添加以下proguard规则。
-keep class io.reactivex.rxjava3.disposables.RunnableDisposable { <init>(...); }