com.mcruiseon.buseeta E / dalvikvm:无法解析Lmy / library / class / file;注释类8906

时间:2016-05-28 19:07:01

标签: android android-studio gradle jar annotations

我的图书馆项目就像这样开始

setCancelable(false)

我已经构建了一个jar,并使用@XmlRootElement(name = "GetUserDomainOrGroupMasterResponse") @XmlAccessorType(XmlAccessType.FIELD) public class GetUserDomainOrGroupMasterResponse implements Serializable, 将此jar复制到我的android项目的libs文件夹中。

我的android studio项目中的gradle文件有

android studio

我也尝试添加

compile fileTree(dir: 'libs', include: ['*.jar'])

当我打开jar存档时,类文件是 RIGHT THERE

现在,当我运行我的项目时,我得到了一个

  

com.myapp.package E / dalvikvm:无法解析Lmy / library / class / file;注释类8906

我试过了

  1. 编译fileTree(dir:'libs',包含:['* .jar']) 编译文件('libs / mylibrary.jar')

  2. 编译文件('libs / mylibrary.jar')

    3。 编译fileTree(dir:'libs',包括:['* .jar'])

  3. 我还尝试为我的jar文件构建compile files('libs/mylibrary.jar') 但仍然得到了该死的executable jar

    我不明白。我在这里缺少什么?

    修改

    我注意到由于此错误,该应用程序没有任何副作用。无论如何它有刺激性。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

@XmlRootElement注释在 jaxb-api 中保留RUNTIME。此注释应在运行时作为普通类(https://en.wikipedia.org/wiki/Java_annotation)。

提供

由于您的库是针对 jaxb 编译的,因此它具有此注释的概念,但它不包含在操作系统中,并且无法在运行时找到。

作为解决方案,您可以将 jaxb 添加为您的应用程序的编译依赖项(几个Mb plus),或者只将此注释定义添加到您的Android项目中。