我有一个带有纯Java 8 库模块的Android Studio项目。这是该库的完整gradle.build文件:
apply plugin: 'java-library'
dependencies {
testImplementation 'junit:junit:4.12'
}
sourceCompatibility = "1.8"
targetCompatibility = "1.8"
代码经过测试,运行正常。
我遇到的问题是我已经构建了项目,然后尝试在另一个不使用Java 7(而不是8)的Android项目中使用构建的.jar文件。显然,代码不起作用。但是,我很惊讶没有编译时错误表明库不兼容。相反,我只是首先注意到调用运行时函数时的不兼容性。
我是否在编写Java模块时遇到了什么问题?或者,您是否只会遇到库不兼容的运行时错误?我期待编译时错误。
另外,请告诉我如何正确编译,以便我可以在Android Studio中获得编译时错误,表明库是使用较新的Java版本编译的。
为了完整起见,我在使用Java 8库模块时遇到以下运行时错误
java.lang.NoClassDefFoundError: Failed resolution of: Ljava/util/Base64;