java - 使用 Places 库时如何在 proguard 中编写规则
问题描述
我正在使用 Android Studio Java lang,我的应用程序运行良好,但如果它上传到 playstore proguard 上会混淆代码,那么每次我打开 GPS 位置并更新我的应用程序时。
错误日志猫
12-07 05:43:20.211 25483-25483/? E/ViewRootImpl: sendUserActionEvent() mView == null
12-07 05:43:20.231 25483-25483/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: dealmagnet.com, PID: 25483
c.b.b.q.d: No properties to serialize found on class f.a.d.o
at c.b.b.q.w.a1.o.a$a.<init>(CustomClassMapper.java:74)
at c.b.b.q.w.a1.o.a.e(CustomClassMapper.java:2)
at c.b.b.q.w.a1.o.a.f(CustomClassMapper.java:33)
at c.b.b.q.g.m(DatabaseReference.java:6)
at f.a.b.f.onComplete(lambda:18)
at com.google.android.gms.tasks.zzj.run(com.google.android.gms:play-services-tasks@@17.1.0:6)
这是我的依赖
implementation 'com.google.android.gms:play-services-places:17.0.0'
implementation 'com.google.android.gms:play-services-location:17.1.0'
implementation 'com.google.android.libraries.places:places:2.4.0'
保护规则
-keep class androidx.annotation.Keep
-dontwarn androidx.support.**
-keep class androidx.annotation.Keep
-keepnames class com.google.android.gms** {*;}
-keep public class com.google.j2objc** { public *; }
-dontwarn com.google.j2objc.**
-keep @androidx.annotation.Keep class * {*;}
-keepclasseswithmembers class * {
@androidx.annotation.Keep <methods>;
}
-keepclasseswithmembers class * {
@androidx.annotation.Keep <fields>;
}
-keepclasseswithmembers class * {
@androidx.annotation.Keep <init>(...);
}
-keepclasseswithmembernames class * {
native <methods>;
}
-dontwarn org.apache.http.annotation.**
-keep class com.sinch** { *; }
-keep interface com.sinch** { *; }
-keep class org.webrtc** { *; }
-keepattributes SourceFile,LineNumberTable,*Annotation*,EnclosingMethod,Signature,Exceptions,InnerClasses
-keep class dealmagnet.com.registration.BecomeDealerActivity { *; }
-keep class dealmagnet.com.registration.RegisterSelfEmployed { *; }
-keep class dealmagnet.com.account.Dealer { *; }
# Basic ProGuard rules for Firebase Android SDK 2.0.0+
-keep class com.firebase** { *; }
-keep class org.apache** { *; }
-keepnames class com.fasterxml.jackson** { *; }
-keepnames class javax.servlet** { *; }
-keepnames class org.ietf.jgss** { *; }
-dontwarn org.apache.**
-dontwarn org.w3c.dom.**
解决方案
尝试添加此规则
-keep class com.google.android.gms.tasks** {*;}
推荐阅读
- swiftui - onTapGesture 在 SwiftUI ScrollView 中不起作用
- python - Plotly choropleth maps 仅绘制数据框的最后一个元素
- python - Odoo 14 wqweb 黑色方形渲染而不是印地语字体
- parse-platform - 解析服务器错误:未捕获的内部服务器错误。{“堆栈”:“错误”}
- typescript - 如何对模板文字类型执行重命名符号 (F2) 操作 - VSCode
- python - 如何创建发送命令将此内容发送到频道?
- r - 使用扫帚从分组线性模型中提取斜率和 r 平方
- vba - 如何手动计算VBA中的中位数?
- excel - 从主字符串中提取子字符串的 VBA 代码
- r - 为R中的列的唯一组合创建索引