0

我无法让 d8 dex 编译器编译我的 jar 包:

$ wget https://repo1.maven.org/maven2/org/mockito/mockito-core/3.6.0/mockito-core-3.6.0.jar
$ java -jar d8_2.1.86.jar --output /tmp mockito-core-3.6.0.jar 2>&1 >/dev/null | grep "Compilation"
com.android.tools.r8.errors.CompilationError: Class or interface java.lang.RuntimeException required for desugaring of try-with-resources is not found.
Compilation failed

我试图阅读有关脱糖问题的信息,但没有走得太远——这个罐子有什么问题?

4

1 回答 1

1

如果您将 android.jar 或 java 运行时 jar 作为 --lib 传递给您的编译,您将不会看到该异常。但是,在您的 d8 编译中还有很多其他警告,因为不存在脱糖所需的类型。这些来自您的输入或类路径中没有的 mockito 包的依赖项。另请参阅: https ://developer.android.com/studio/command-line/d8#j8

于 2021-05-20T05:29:36.007 回答