6

我想将我的应用程序与各种文件存储服务集成。我按照 Drive sdk 的快速入门说明进行操作,它将一堆 jars 添加到我的项目 libs 目录中。此外,Dropbox sdk 需要以下 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 Loader] 无法执行 dex:多个 dex 文件定义 Lorg/apache/http/entity/mime/FormBodyPart;

如果我删除为 Dropbox 添加的 httpmime jar,我的项目运行良好。但这是解决冲突的安全方法吗?是否有另一种方法可以构建我的项目并包含所有必需的 jar?

4

2 回答 2

0

假设没有版本冲突,这将正常工作。将 httpmime-4.0.3.jar 与 Drive 添加到您的 libs 目录的 httpmime jar 进行比较。如果它们相同,那很好。如果它们不同,那么您必须找出两者之间的差异并确保它们不会破坏更改。作为最后的手段,您还可以将其中一个 SDK 及其所需版本的 httpmime 重新打包到一个用 ProGuard 选择性地混淆的 jar 中,尽管这很麻烦。

于 2013-02-26T20:13:04.997 回答
0

如果您使用 Eclipse 进行开发,请考虑使用 Google Plugin for Eclipse。它提供了一种将任何 Google 的 SDK 添加到您的应用程序的方法。所有的罐子都是自动添加的。

于 2013-02-26T20:32:06.990 回答