在我将 Android Studio 更新到 3.5 之后,每当我构建我的项目时,我都会面临以下警告。
缺少类:com.fasterxml.jackson.core.type.TypeReference
我的项目正在使用AndroidX。这是我的build.gradle (app) https://gist.github.com/Arkar009/4ae5a05ff3435636bc605fee1fbdb050的要点。谁能知道为什么会发生此错误或解决此错误的替代方法?提前感谢。
在我将 Android Studio 更新到 3.5 之后,每当我构建我的项目时,我都会面临以下警告。
缺少类:com.fasterxml.jackson.core.type.TypeReference
我的项目正在使用AndroidX。这是我的build.gradle (app) 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,希望它有帮助!