4

コードは通常の Java プロジェクトで動作しますが、ライブラリ (.jar) の依存関係をコピーして Android で試してみると、ビルドに失敗します。

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

最後に次のように述べています。

6 つの警告 1 つのエラー。/home/kp/android-sdk-linux/tools/ant/build.xml:818 を中止しています: 次の行の実行中に次のエラーが発生しました: /home/kp/android-sdk-linux/tools/ant/build.xml: 820: この行の実行中に次のエラーが発生しました: /home/kp/android-sdk-linux/tools/ant/build.xml:832: この行の実行中に次のエラーが発生しました: /home/kp/android-sdk- linux/tools/ant/build.xml:278: null が返されました: 1

すべてのライブラリを追加しました:

  • commons-codec-1.4.jar
  • commons-collections-3.2.1.jar
  • commons-io-2.0.1.jar
  • commons-lang-2.6.jar
  • commons-logging-1.1.1.jar
  • cssparser-0.9.5.jar
  • htmlunit-2.9.jar
  • htmlunit-core-js-2.9.jar
  • httpclient-4.1.2.jar
  • httpcore-4.1.2.jar
  • httpmime-4.1.2.jar
  • nekohtml-1.9.15.jar
  • sac-1.3.jar
  • serializer-2.7.1.jar
  • xalan-2.7.1.jar
  • xercesImpl-2.9.1.jar
  • xml-apis-1.3.04.jar

いくつかの依存関係を削除するとビルドされますが、コードを実行しようとすると_client = new WebClient();noClassDefFoundError エラーが発生します。

私はまだ解決策を見つけていないので、解決策があれば共有してください!

4

3 に答える 3

0

私にとってうまくいったのは、以下を削除することです: xalan-2.7.1.jar xercesImpl-2.9.1.jar xml-apis-1.3.04.jar

于 2015-04-02T23:27:54.820 に答える
0

私の推測では、HTMLunit jar は Android プロジェクトの libs フォルダーに配置されていません。

プロジェクトのルートの下に libs フォルダー (正確なスペルを使用) を作成し、そのフォルダーの下にすべての HTMLUnit jar を配置する必要があります。

すなわち

プロジェクト/ライブラリ/

于 2012-05-21T04:05:16.710 に答える
0

Eclipse ビルド パス ダイアログの [注文とエクスポート] タブに追加したすべてのライブラリの横にあるボックスをチェックして、noClassDefFoundError エラーを解決しました。これには.apkの.jarが含まれているので、デバイスで使用できると思います。

于 2012-05-23T21:00:55.653 に答える