繁体   English   中英

Android Studio / Gradle Project中的纯Java 8库模块

[英]Pure Java 8 Library module in Android Studio/Gradle Project

我有一个带有纯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;

在API级别26( https://developer.android.com/reference/java/util/Base64.html添加了java.util.Base64 您必须使用android.util.Base64https://developer.android.com/reference/android/util/Base64 。)

对于通用库,我使用Google Guava

<dependency>
   <artifactId>guava</artifactId>
   <groupId>com.google.guava</groupId>
   <type>jar</type>
   <version>14.0.1</version>
</dependency>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM