首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android发布版本在发布时崩溃

Android发布版本在发布时崩溃
EN

Stack Overflow用户
提问于 2022-01-15 00:07:11
回答 1查看 117关注 0票数 0

当我通过usb连接android手机时,应用程序在android手机上安装和运行良好。但当我部署到生产,现在它给我“不幸的应用程序已经停止”,每次我打开应用程序。

所以我想出了城市飞艇设置的问题。并添加了以下行的保护规则文件。

-keep类.**{;} -dontwarn .

但在启动时仍然会出现以下错误。

代码语言:javascript
复制
java.lang.NoSuchMethodError: No virtual method object()Lm/b/g; in class Lm/b/g; or its super classes (declaration of 'm.b.g' appears in /data/app/~~8aj5YP2-7MODBpBbFJ_YYw==/com.hct2.android.web.dev-dcCYVQdPn_VkfhnR9UHHfA==/base.apk!classes2.dex)
        at com.urbanairship.json.JsonMap.write(JsonMap.java:211)
        at com.urbanairship.json.JsonMap.toString(JsonMap.java:195)
        at com.urbanairship.job.WorkUtils.convertToData(WorkUtils.java:24)
        at com.urbanairship.job.WorkManagerScheduler.createWorkRequest(WorkManagerScheduler.java:35)
        at com.urbanairship.job.WorkManagerScheduler.schedule(WorkManagerScheduler.java:22)
        at com.urbanairship.job.JobDispatcher.dispatch(JobDispatcher.java:92)
        at com.urbanairship.channel.AirshipChannel.dispatchUpdateJob(AirshipChannel.java:1115)
        at com.urbanairship.channel.AirshipChannel.dispatchUpdateJob(AirshipChannel.java:1096)
        at com.urbanairship.channel.AirshipChannel.updateRegistration(AirshipChannel.java:744)
        at com.urbanairship.push.PushManager.setUserNotificationsEnabled(PushManager.java:495)
        at f.g.a.a.a.h.f.a.onCreate(BaseActivity.java:175)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-15 00:55:51

为了避免生产中出现这样的问题,最好也为调试版本启用proGuard。我也遇到了类似的问题,这是我的卫兵规则。

代码语言:javascript
复制
-optimizationpasses 5
-dump class_files.txt
-printseeds seeds.txt
-printusage unused.txt
-printmapping mapping.txt
-optimizations !code/simplification/arithmetic,!field/*,!class/merging*/
-allowaccessmodification
-repackageclasses ''

-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider

-keepattributes InnerClasse
-keepattributes *Annotation*, InnerClasses
-dontnote kotlinx.serialization.SerializationKt
-keep,includedescriptorclasses class com.mymiscapps.example.**$$serializer { *; }

-keep class kotlin.reflect.** { *; }
-dontwarn kotlin.reflect.**
-keep class org.jetbrains.** { *; }

-keep class com.mymiscapps.example.** { *; }

-keep public class org.apache.commons.io.**
-keep public class com.google.gson.**
-keep public class com.google.gson.** {public private protected *;}

错误的文本使我认为proGuard在活动或序列化方面有问题。我的档案里都有。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70717816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档