首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android R8构建发布Apk失败

Android R8构建发布Apk失败
EN

Stack Overflow用户
提问于 2020-09-18 11:18:30
回答 1查看 264关注 0票数 2

minifyEnabled=false构建成功,minifyEnabled=false构建失败

构建debugApk成功,但构建releaseApk失败

请帮帮我,我找不到问题所在

代码语言:javascript
复制
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)
...
EN

回答 1

Stack Overflow用户

发布于 2020-10-05 21:54:44

我在RxJava3版本中遇到过这种现象。也是3.0.6。

原因是R8试图移除该方法并将其内联到单个调用点。

请参阅https://developer.android.com/studio/build/shrink-code的详细信息。

所以,如果我们的应用程序从多个地方调用RunnableDisposable.constructor,这个问题就不会发生。

我的意思是,如果使用两种或两种以上的RunnableDisposable扩展类,我们就不会遇到这个问题。

解决方法是简单地添加以下保护规则。

代码语言:javascript
复制
-keep class io.reactivex.rxjava3.disposables.RunnableDisposable { <init>(...); }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63948856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档