android-studio - 缺少类 : com. fastxml.jackson.core.type.TypeReference。 R8:警告

标签 android-studio jackson android-r8

将 Android Studio 更新到 3.5 后,每当构建项目时,我都会遇到以下警告。

Missing class: com.fasterxml.jackson.core.type.TypeReference

enter image description here

我的项目正在使用AndroidX。这是我的 build.gradle(应用程序)的要点 https://gist.github.com/Arkar009/4ae5a05ff3435636bc605fee1fbdb050 。谁能知道为什么会发生此错误或解决此错误的替代想法?提前致谢。

最佳答案

如果您非常确定以后在项目中包含 Jackson 时会记住这一行,那么这样做就可以了(将其添加到项目的 proguard-project.[txt|pro] 文件中):

-dontwarn com.fasterxml.jackson.core.type.TypeReference

该类以某种方式包含在 R8 中设置的缺失类中(我在 R8 的代码中没有走那么远),但是如果您在“不警告”的模式列表中获得该类,则可以跳过警告“规则(参见 com/android/tools/r8/R8.java):

  List<ProguardConfigurationRule> synthesizedProguardRules = new ArrayList<>();
  timing.begin("Strip unused code");
  Set<DexType> classesToRetainInnerClassAttributeFor = null;
  try {
    Set<DexType> missingClasses = appView.appInfo().getMissingClasses();
    missingClasses = filterMissingClasses(
        missingClasses, options.getProguardConfiguration().getDontWarnPatterns());
    if (!missingClasses.isEmpty()) {
      missingClasses.forEach(
          clazz -> {
            options.reporter.warning(
                new StringDiagnostic("Missing class: " + clazz.toSourceString()));
          });

TBH,我也被这个警告困扰到进入 R8,希望它有帮助!

关于android-studio - 缺少类 : com. fastxml.jackson.core.type.TypeReference。 R8:警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57652944/

相关文章:

android - Gradle : DSL element 'useProguard' is obsolete and will be removed soon

java - jackson 错误 : java. lang.NoSuchMethodError: `com.fasterxml.jackson.databind.JsonNode.asText(Ljava/lang/String;)Ljava/lang/String`

android - 应用程序图标在 7.0 以上的 android 操作系统中不显示。它显示圆形默认启动器图标

android - NavigationView setNavigationItemSelectedListener 此 API 被标记为内部支持库,不应从应用程序访问

android - 按钮未显示在 Android Studio 中

java - Pojo 到 Json 架构

java - JSON 对象属性名可以是整数吗?

java - 即使使用 ProGuard(或 R8)剥离,Log.d() 中的语句是否仍会执行?

android - 如果它包含一个在混淆器中带有注释的字段,如何保持类的成员不受影响

android - 将文本作为父级编辑并将其 TextView 作为子级编辑为可扩展 ListView