我正在Android-Studio
上开发一个非常简单的Android-App,它可以创建XML-CAP-Formated文件。目前,我正在使用xmlSerializer
。但是,我想要使用Google CAP Library(The Common Alerting Protocol Library)。我从git下载了源代码,生成了CapLibrary.jar
文件。然后,我将库添加到我的项目中,如下所示:
libs
文件夹MyProject->app
的文件夹
CapLibrary.jar
文件复制并粘贴到libs
文件夹CapLibrary.jar
文件,然后选择Add As Library...
现在,当我尝试使用该库并运行我的应用程序时,我收到此错误:
错误:将字节码转换为dex时出错: 原因:Dex无法解析版本52字节的代码。 这是由使用Java 8或更高版本编译的库依赖项引起的。 如果你在库子模块中使用'java'gradle插件添加 targetCompatibility ='1.7' sourceCompatibility ='1.7' 到该子模块的build.gradle文件。
所以,我在build.gradle
添加了以下两行:
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
但是它再次给了我这个错误:
错误:Jack需要支持java 8语言功能。或 启用Jack或删除sourceCompatibility JavaVersion.VERSION_1_8。
所以,为了启用Jack,我添加了以下行:
defaultConfig {
.
.
.
jackOptions {
enabled true
}
}
现在,当我再次尝试运行我的应用程序时,它什么也没做。我的意思是Gradle Build Running
继续加载,停在Executing tasks: [:app:assembleDebug]
:
所以,我不知道为什么不加载poject,我是否以正确的方式导入库?或者它与Java 1.8有什么关系?!