android - Android 应用程序因 exception.class.missing._Unknown_ 而崩溃
问题描述
我刚刚发布了我的应用程序的最新版本,但我在 Google Play 控制台中看到一些用户的崩溃。
exception.class.missing._Unknown_:
at com.android.icu.util.regex.PatternNative.compileImpl (Native Method)
at com.android.icu.util.regex.PatternNative.<init> (PatternNative.java:39)
at com.android.icu.util.regex.PatternNative.create (PatternNative.java:35)
at java.util.regex.Pattern.compile (Pattern.java:1426)
at java.util.regex.Pattern.<init> (Pattern.java:1401)
at java.util.regex.Pattern.compile (Pattern.java:959)
at com.mymedia.android.tracker.custom.MyInputFilter.<init> (MyInputFilter.java:30)
这是说它找不到本机类/方法com.android.icu.util.regex.PatternNative.compileImpl()吗?还是我的班级MyInputFilter?
我为这个新版本做了一些不同的事情,我想知道这可能是造成这种情况的原因。
- 我发布了一个 App Bundle 而不是 APK。
- 我在 build.gradle 中添加了这些 Proguard / 收缩和混淆设置。
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
debuggable false
}
}
我查看了 Proguard 构建输出文件usage.txt,但没有看到任何提及PatternNative被删除或任何可能导致此问题的内容。
解决方案
您的问题可能是您的正则表达式在MyInputFilter.java:30
. proguard-rules.pro
尝试通过将这些行添加到您的文件中来防止混淆您的类字段:
-keepclassmembers class com.mymedia.android.tracker.custom.MyInputFilter {
*;
}
推荐阅读
- java - if 语句应该返回“IllegalArgumentException”,但它返回一个空字符串
- r - 用特定日期替换多个值
- javascript - html 文本区域显示设置的跨度值
- postgresql - 在 hikari maxLifetime 之后,数据库池中的 Postgres 连接变为零?
- java - 如何在itext 5中将部分代码添加到pdf
- typescript - Typescript 在 vscode 中给出的错误与通过 webpack 给出的错误不同
- python-3.x - 抓取网站元数据时避免使用本地版本
- python - 在 DataFrame 上插入 NaN 值作为一个环
- google-sheets - 查询后删除了一些数据
- sql-server - 为给定的动态字符串准备 SUM 函数