5

我正在开发一个需要使用 commons-beanutils 库的 Android 应用程序,但是我无法编译它。当我尝试使用此 jar 文件运行应用程序时,出现其中几个错误

Dx 警告:忽略不附带关联 EnclosureMethod 属性的匿名内部类 (org.apache.commons.beanutils.locale.LocaleBeanUtilsBean$1) 的 InnerClasses 属性。此类可能是由不针对现代 .class 文件格式的编译器生成的。推荐的解决方案是从源代码重新编译类,使用最新的编译器并且不指定任何“-target”类型选项。忽略此警告的后果是此类上的反射操作将错误地指示它不是内部类。

然后出现这个错误

无法执行dex:多个dex文件定义了Lorg/apache/commons/beanutils/DynaBean;

我已经用谷歌搜索了这两个错误,并得到了几个不同的答案来解决这个问题。

无法执行dex:多个dex文件定义了Lcom/myapp/R$array;

此处的此链接指出 bin 文件夹是问题所在。我尝试删除它,但同样的问题。

然后我遇到了这个线程

是否有与 Android 兼容的 Property Utils 替代品?

该操作指出 beans util 在 Android 上不起作用。这是准确的吗?如果是这样,是否有替代方案可行?从源代码重新编译类会起作用吗?

任何帮助将非常感激!

编辑:我也尝试下载最新版本的 commons-beanutils,同样的问题

4

1 回答 1

0

有适用于 Android 的桥接库:android-java-air-bridge.jar。只需包含到项目路径中并在您的 Android 项目中使用所有 apache beanutils 功能,就像您可以在普通 Java 应用程序中使用一样。此外,还有很多其他类移到了这个 Android 支持库。看看名单。

上述解决方案在Property Utils 是否有与Android 兼容的替代品中提到?

于 2014-10-17T18:18:16.950 回答