将 SafeArgs 与 Proguard 和导航架构组件一起使用时出现 ClassNotFoundException?

2023-12-20

我在用着SafeArgs插件和Navigation Architecture Component但应用程序崩溃了。

Caused by: java.lang.ClassNotFoundException: Didn't find class "com.package.domain.models.Model"

我在用着minifyEnabled true在摇篮里。

另外,我有三个模块app, data, and domain。所以,在所有三个proguard-rules我添加的文件

-keepnames class com.package.domain.models.Model1
-keepnames class com.package.domain.types.ImageType
-keepnames class com.package.domain.models.Model

我将这三个类用作argType在我的导航图中。

但该应用程序仍然崩溃。任何帮助,将不胜感激。


我认为更合适的做法是将其添加到我的proguard-rules文件。

-keepnames class * extends android.os.Parcelable
-keepnames class * extends java.io.Serializable

因为我不必继续注释我的模型@Keep哪个是Parcelable or Serializable或者使整个模型包远离混淆。

Check this https://stackoverflow.com/a/50378828/7436566了解更多信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 SafeArgs 与 Proguard 和导航架构组件一起使用时出现 ClassNotFoundException? 的相关文章

随机推荐

  • 以编程方式展开 segue

    我正在显示一个带有 UITableView 控件的 UIView 我通过调用 PerformSegueWithIdentifier 使用 Show Segue 显示此视图 在调用 segue 的模块中 我添加了一个要在展开时使用的函数 以便
  • Objective-c 中的自定义属性

    可以像在 VB NET 中一样在 Objective C 中创建自定义属性吗 例如 在 VB NET 中 您可以创建 Browsable 属性并在运行时读取它以确定是否应该显示属性 Public Class Employee
  • 关闭文件而不使用 using

    我有一个类 它从一个文件流读取数据并写入另一个文件流 我担心在 closeFiles 中处理完成后关闭流 您将如何处理一个流的处置可能引发异常以阻止调用另一流的处置的可能性 我应该关闭并在流中进行处理还是只处理一个 如果我从流处理中发现任何
  • 如何检测输入是否是引号?

    我有以下代码 if userInput do something 我希望它能够检测 userInput is a quote 但是 此代码会引发错误 如何检测是否输入is a quote 正如你所问的 如果输入contains引用 只是fi
  • Jssor 全宽滑块 - 连续循环/下一张/上一张图像部分可见

    有没有办法在滑块中部分显示上一张和下一张图像 IE 如果您有 3 张固定宽度的幻灯片 您可以部分看到其中一张的一部分 被不透明度和后退按钮覆盖 另一张幻灯片的整张 然后部分看到最 后一张 再次被不透明度和后退按钮覆盖 下一个按钮 然后您可以
  • usr/bin/env: 错误的解释器权限被拒绝 --> 如何更改 fstab

    我在 Windows 7 上使用 cygwin 运行激活 python 脚本的 bash 脚本 但出现以下错误 myscript script cydrive c users mydrive folder myscript py usr b
  • 如何从抽象类扩展枚举类?

    有这样的东西 public enum Token FOO foo f QUIT quit q UNKNOWN public parse String s for Token token values return token return
  • VHDL 中的行为模型程序和数据流模型程序之间的混淆

    我正在使用 Douglas L Perry 所著的教科书 VHDL 示例编程 第四版 他在第 4 页给出了 Dataflow 编程模型的示例 Code I ENTITY mux IS PORT a b c d IN BIT s0 s1 IN
  • 如何解决安卓验证错误?

    我正在工作 android 应用程序 当我运行该应用程序时出现以下错误 occred 请帮助我 01 20 20 39 02 955 WARN dalvikvm 5690 VFY arbitrarily rejecting large me
  • 输入框中占位符旁边的红色星号

    我已经做了很多谷歌搜索 但我找不到任何适合我的答案 我正在创建一个表单 有史以来第一次 并且我需要在输入框中的占位符文本旁边添加一个红色星号 尴尬的是 这是迄今为止我能得到的最接近的结果 form margin 0 auto backgro
  • f# 中受保护的虚拟方法

    F 不支持定义protected方法 这里解释一下why https stackoverflow com questions 2390515 why isnt there a protected access modifier in f F
  • xcode - 无效的位码

    我收到这个错误 错误 无效的位码签名 clang 错误 链接器命令失败 退出代码为 1 使用 v 查看调用 我正在使用 cocoapods 并且已经验证所有启用位码都匹配 我已经尝试了启用位码字段的所有选项 是 否 和 inherited
  • 按名称和按值类型的多态类型推断

    我一直遇到类型推断问题 我不确定我是否做错了什么 编译器中存在错误 或者是语言的限制 我创建了一个虚拟示例来显示问题 该用例没有任何意义 但相信我 我有一个有效的用例 假设我有这个代码 val function Int String gt
  • 使用 python 生成随机数的大数组

    我需要生成一个包含随机数 10 数字 的大数组 或列表 我就是这样尝试的 vet random sample range 10 100000 但是当我尝试运行时 vet random sample range 10 10000 文件 usr
  • 在 Ruby 中对数组进行排序

    我有一个数组数组 如下所示 irb main 028 0 gt device array gt name1 type1 A N N Attribute device attribute 9 name2 type2 A N N Attribu
  • 如何构建这个复杂的 Linq 表达式?

    我想构建一个 System Linq Expression来自字符串列表像这样 System Linq Expressions Expression x null foreach string s in GetWords input Cre
  • “删除文件时出错:权限被拒绝”并在 C++ 中删除

    当我编译并运行 C 程序时 它删除了一个名为 example txt 的文件 如下 include
  • 我应该使用 %$% 而不是 %>% 吗?

    最近我发现了 管道运算符 但我忽略了它与 gt 如果它可以完全取代它 使用动机 运营商 可以取代 gt 在许多情况下 mtcars gt summary mtcars summary mtcars gt head 10 mtcars hea
  • Gadfly 图目前可以组合吗?

    目前有没有办法在 Gadfly jl 中将绘图元素添加在一起 例如 在 R 中 如果我有另一个返回 ggplot 的函数并且我想为其添加标题 我会执行以下操作 p lt makeMyPlot p ggtitle Now it has a t
  • 将 SafeArgs 与 Proguard 和导航架构组件一起使用时出现 ClassNotFoundException?

    我在用着SafeArgs插件和Navigation Architecture Component但应用程序崩溃了 Caused by java lang ClassNotFoundException Didn t find class co