【问题标题】:Minifying my App strips essential classes缩小我的应用程序剥离基本类
【发布时间】:2020-12-01 14:43:12
【问题描述】:

我的应用在 Android Studio 中通过 USB 启动时运行良好。虽然当我创建一个apk 文件并安装它时,应用程序在启动时会立即崩溃并显示ClassNotFoundException。进一步调查我禁用缩小,改变

minifyEnabled true

minifyEnabled false

build.gradle.

没有缩小,apk 文件可以工作。但是,我不想避免缩小我的应用程序。缩小器如何工作?为什么它会剥离我的应用程序的基本类?如何使缩小器包含我的所有课程?

我的proguard-rules.pro 文件是空的,除了 cmets。

【问题讨论】:

  • 你应该再看看这一段:Customize which code to keep。在某些情况下,R8 无法知道您需要一些代码,因为它不是直接调用的。

标签: android proguard minify bundling-and-minification


【解决方案1】:

添加

-keep public class MyClass

proguard-rules.pro 成功了。最后我不得不以这种方式保留两个班级。它们都有一些共同点:它们都是通过

添加的
<androidx.fragment.app.FragmentContainerView

在 xml 布局中,而不是在带有 FragmentManager 的代码中。这些是唯一以这种方式添加的类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-30
    • 2018-10-31
    • 1970-01-01
    • 2023-04-05
    • 2017-03-14
    • 1970-01-01
    • 2013-01-31
    • 2020-04-05
    相关资源
    最近更新 更多