6

アプリをさまざまなファイルストレージサービスと統合したいと思います。Drive sdkのクイックスタート手順に従いました。これにより、プロジェクトのlibsディレクトリに多数のjarが追加されます。さらに、DropboxSDKには次のjarのリストが必要です。

  • commons-logging-1.1.1.jar
  • dropbox-android-sdk-1.5.3.jar
  • httpclient-4.0.3.jar
  • httpcore-4.0.1.jar
  • httpmime-4.0.3.jar
  • json-simple-1.1.jar

これらすべてをプロジェクトに追加すると、実行しようとすると次のエラーが発生します。

Dexローダー]dexを実行できません:複数のdexファイルがLorg / apache / http / entity / mime/FormBodyPartを定義しています。

Dropbox用に追加されたhttpmimejarを削除すると、プロジェクトは正常に実行されます。しかし、これは競合を解決するための安全な方法ですか?プロジェクトをビルドして必要なすべてのjarファイルを含めることができる別の方法はありますか?

4

2 に答える 2

0

Eclipse で開発している場合は、Google Plugin for Eclipse の使用を検討してください。Google の SDK をアプリに追加する方法を提供します。すべての jar が自動的に追加されます。

于 2013-02-26T20:32:06.990 に答える
0

バージョンの競合がないと仮定すると、これはうまく機能します。httpmime-4.0.3.jar を、Drive が libs ディレクトリに追加した httpmime jar と比較します。それらが同じであれば、それで問題ありません。それらが異なる場合は、2 つの違いを見つけて、それらが破壊的な変更ではないことを確認する必要があります。最後の手段として、ProGuard で選択的に難読化された jar に必要なバージョンの httpmime を含む SDK の 1 つを再パッケージ化することもできますが、これは面倒です。

于 2013-02-26T20:13:04.997 に答える