【问题标题】:How to disable method inlining in proguard?如何在 proguard 中禁用方法内联?
【发布时间】:2019-11-09 10:36:05
【问题描述】:

我的应用仅在 Android 4.4 上因此错误而崩溃

致命异常:nTa:java.lang.IllegalAccessError:试图从类 patient.healofy.vivoiz.com.healofy.userprofile.contactsync.ContactSyncManager 访问类 dUa$a[] 在 io.reactivex.plugins.RxJavaPlugins.onError + 367(RxJavaPlugins.java:367) 在 io.reactivex.internal.schedulers.ScheduledRunnable.run + 69(ScheduledRunnable.java:69) 在 io.reactivex.internal.schedulers.ScheduledRunnable.call + 57(ScheduledRunnable.java:57) 在 java.util.concurrent.FutureTask.run + 237(FutureTask.java:237) 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201 + 152(ScheduledThreadPoolExecutor.java:152) 在 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run + 265(ScheduledThreadPoolExecutor.java:265) 在 java.util.concurrent.ThreadPoolExecutor.runWorker + 1112(ThreadPoolExecutor.java:1112) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run + 587(ThreadPoolExecutor.java:587) 在 java.lang.Thread.run + 841(Thread.java:841)

我发现这是由于 ProGuard 方法内联而发生的。

我想禁用这两个:

方法/内联/短 内联短方法。 方法/内联/唯一 内联只调用一次的方法。

我没有专门启用它们。

详细回答: https://medium.com/@ericluapp/a-journey-of-an-illegalaccesserror-issue-2c29b6ea968d

【问题讨论】:

    标签: proguard android-4.4-kitkat illegalaccessexception


    【解决方案1】:

    为了完全禁用方法内联,您可以将其添加到您的配置中

    -optimizations !method/inlining/*

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-28
      • 2012-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多