缺少类:com.fasterxml.jackson.core.type.TypeReference。 R8:警告

时间:2019-08-26 06:43:29

标签: android-studio jackson r8

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

  

缺少的类:com.fasterxml.jackson.core.type.TypeReference

enter image description here

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

1 个答案:

答案 0 :(得分:2)

如果您非常确定,如果稍后在项目中包含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,希望对您有所帮助!