我正在开发一个需要使用commons-beanutils库的Android应用程序,但是我无法进行编译。当我尝试使用此jar文件运行应用程序时,出现了其中一些错误
Dx警告:忽略匿名内部的InnerClasses属性 class(org.apache.commons.beanutils.locale.LocaleBeanUtilsBean $ 1)那个 没有关联的EnclosingMethod属性。这个班 可能是由一个没有针对现代的编译器生成的 .class文件格式。建议的解决方案是重新编译该类 从源代码,使用最新的编译器,而不指定任何 “-target”类型选项。忽略这个警告的后果是 对此类的反思操作将错误地指示 不是一个内部类。
然后出现此错误
无法执行dex:多个dex文件定义 Lorg /阿帕奇/公地/ BeanUtils的/ DynaBean的;
我已经搜索了这两个错误,并就如何解决这个问题得到了几个不同的答案。
Unable to execute dex: Multiple dex files define Lcom/myapp/R$array;
此链接指出bin文件夹是问题所在。我尝试删除它但同样的问题。
然后我遇到了这个帖子
Are there Android compatible alternatives to Property Utils?
op声明beans util不适用于Android。这准确吗?如果有,那么还有其他方法可行吗?会从源代码中重新编译该类吗?
非常感谢任何帮助!
编辑:我也尝试下载最新版本的commons-beanutils,同样的问题
答案 0 :(得分:0)
有适用于Android的桥库:android-java-air-bridge.jar。只需包含在项目路径中并使用Android项目中的所有apache beanutils功能,就像在普通的Java应用程序中一样。此外,还有很多其他类转移到这个Android支持库。看看清单。
在Are there Android compatible alternatives to Property Utils?
上提到了上述解决方案