由于Android Gradle Plugin 3.0及更高版本中的coreLibraryDesugaring功能,需要在build.gradle文件中的android{defaultConfig}字节码增加以下设置:
android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 //如果您在使用Gradle插件3.0.0或更高版本,则可以使用coreLibraryDesugaring将Java 8语言功能与旧版Android平台兼容。 coreLibraryDesugaringEnabled true } }
然而,coreLibraryDesugaring在Unit Test中需要以下依赖:
dependencies { testImplementation 'androidx.test:core:1.3.0' testImplementation 'org.robolectric:robolectric:4.5.1' }
这些依赖项将启用Java 8 API和语言功能的支持,从而使您能够使用lambda表达式和其他语言功能。这样既可以使用coreLibraryDesugaring,也可以在Unit Test中顺利运行。
最后,您需要确保您的模拟器或设备API级别适当。旧版Android平台可能不支持Java 8 API和语言功能,可能会导致Unit Test失败。