Proguard 和 Preference DataStore

Ali*_*iSh 5 android datastore proguard

我在使用 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)
Run Code Online (Sandbox Code Playgroud)

官方文档中没有提到proguard规则。我应该在我的项目中添加一些规则以防止 DataStore 混淆吗?

Ali*_*iSh 7

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

-keep class androidx.datastore.*.** {*;}
Run Code Online (Sandbox Code Playgroud)

我已经报告给谷歌了,你可以在那里关注它:

https://issuetracker.google.com/issues/168580258