android - Proguard 和 Preference 数据存储

标签 android proguard datastore

我在使用 android DataStore 的项目中使用 proguard .没有proguard,它工作得很好。但是当它被 proguard 混淆时,会发生以下错误:

java.lang.RuntimeException: Field preferences_ for f.k.k.h not found. Known fields are [public f.k.k.l.k0 f.k.k.h.i, public static final f.k.k.h f.k.k.h.j, public static volatile f.k.k.l.x0 f.k.k.h.k]
        at f.k.k.l.s0.K(Unknown Source:62)
        at f.k.k.l.s0.y(:6)
        at f.k.k.l.s0.x(Unknown Source:12)
        at f.k.k.l.a1.a(:32)
        at f.k.k.l.a1.b(Unknown Source:4)
        at f.k.k.l.x.r(:4)
        at f.k.k.h.s(:2)
        at f.k.k.k.b(:2)
        at f.k.i.e(Unknown Source:48)
        at f.k.i.f(:2)
        at f.k.i.d(:4)
        at f.k.i$b.e(:4)
        at i.n.j.a.a.l(:2)
        at d.a.p0.run(:4)
        at d.a.f2.a.u(Unknown Source:0)
        at d.a.f2.a$a.run(:7)
官方文档中没有提到proguard规则。我应该在我的项目中添加一些规则以防止 DataStore 被混淆吗?

最佳答案

当我将以下规则添加到我的项目时,它得到了解决:

-keep class androidx.datastore.*.** {*;}
我已经把它报告给了谷歌,你可以在那里关注它:
https://issuetracker.google.com/issues/168580258

关于android - Proguard 和 Preference 数据存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64086421/

相关文章:

p2p - 如何更新 DHT 中的条目

android - “没有适用的市场商品”试图发现android连接器

android - 如何将子项动态添加到可扩展 ListView 中。?

java - 使用 TCP 套接字从 Android 设备向 ESP8266 Wi-Fi 芯片发送数据

Android,Proguard 到底是做什么的?

android - 如何精确解码ProGuard的混淆码?

java - Proguard + Spring Boot + Maven 维护结构

java - 将数据从数据存储移动到 MySQL(Cloud SQL)

Android java.lang.IllegalArgumentException : no char field 'exponential' in android 2. 3

Android以编程方式更改颜色描边(边框)