1

我安装了最新的 AS 4.01,并使用 coreLibraryDesugaring (1.0.10) 为 Java 8 支持设置了最新的依赖项,并在我的 build.gradle 文件中使用了正确的 compileOptions。以下代码在使用 API 23 的设备上编译并运行,没有错误:

TemporalAccessor ta = null;
Instant i;
Date date = null;
try {
    int loc = 0;
    if ((loc = publishedDate.indexOf("+")) > 0) {
        // Offset time given
        publishedDate = adjustTimeFormat(publishedDate, loc);
        ta = DateTimeFormatter.ISO_OFFSET_DATE_TIME.parse(publishedDate);
        i = Instant.from(ta);
    } else if ((loc = publishedDate.indexOf("-")) > 0) {
        publishedDate = adjustTimeFormat(publishedDate, loc);
        ta = DateTimeFormatter.ISO_OFFSET_DATE_TIME.parse(publishedDate);
        i = Instant.from(ta);
    } else if (publishedDate.contains("Z")) {
        i = Instant.parse(publishedDate);
    } else {
        //
        ta = DateTimeFormatter.ISO_DATE.parse(publishedDate);
        i = Instant.from(ta);
    }
    date = Date.from(i);
} catch (Exception e) {
    ta = null;
}
if (ta == null) {
    date = new Date();
}
return date;

但是,lint 将其中许多行标记为“需要 API 级别 26(当前最小值为 21)”

我认为在脱糖到位的情况下,它应该允许这样做吗?这是一个 lint 错误吗?

4

0 回答 0