5

commons-beanutils ライブラリを使用する必要がある Android アプリケーションを開発していますが、コンパイルできません。この jar ファイルを使用してアプリケーションを実行しようとすると、これらのエラーがいくつか表示されます

Dx 警告: 匿名の内部クラス (org.apache.commons.beanutils.locale.LocaleBeanUtilsBean$1) の InnerClasses 属性は無視されます。これには、関連付けられた EnclosingMethod 属性がありません。このクラスは、最新の .class ファイル形式を対象としていないコンパイラによって生成された可能性があります。推奨される解決策は、最新のコンパイラを使用し、「-target」型オプションを指定せずに、ソースからクラスを再コンパイルすることです。この警告を無視すると、このクラスに対するリフレクション操作によって、このクラスが内部クラスではないことが誤って示されます。

その後、このエラーが表示されます

dex を実行できません: 複数の dex ファイルで Lorg/apache/commons/beanutils/DynaBean が定義されています。

両方のエラーをグーグルで検索し、これを解決する方法についていくつかの異なる回答を得ました。

dex を実行できません: 複数の dex ファイルが Lcom/myapp/R$array を定義しています。

This link here は、bin フォルダーが問題であることを示しています。削除してみましたが、同じ問題です。

その後、このスレッドに出会いました

Property Utils の Android 互換の代替手段はありますか?

op は、beans util が Android で動作しないことを示しています。これは正確ですか?もしそうなら、うまくいく代替手段はありますか?ソースからクラスを再コンパイルすることはできますか?

どんな助けでも大歓迎です!

編集:commons-beanutilsの最新バージョンもダウンロードしてみましたが、同じ問題です

4

1 に答える 1

0

Android で動作するブリッジ ライブラリ: android-java-air-bridge.jar があります。プロジェクト パスに含めるだけで、通常の Java アプリケーションで使用できるように、Android プロジェクトですべての apache beanutils 機能を使用できます。また、この Android 対応ライブラリに移行したクラスは他にもたくさんあります。リストを見てください。

上記のソリューションは、Property Utils に Android 互換の代替手段がありますか?で言及されています。

于 2014-10-17T18:18:16.950 に答える