解决Drive和Dropbox依赖冲突的安全方法?

ab1*_*b11 6 android google-drive-api

我想将我的应用程序与各种文件存储服务集成.我按照了关于Drive sdk的快速入门说明,它将一堆罐子添加到我的项目libs目录中.此外,Dropbox sdk需要以下jar列表:

  • 共享记录-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-简单1.1.jar

将所有这些添加到我的项目后,当我尝试运行时出现以下错误:

Dex Loader]无法执行dex:多个dex文件定义Lorg/apache/http/entity/mime/FormBodyPart;

如果我删除为Dropbox添加的httpmime jar,我的项目运行正常.但这是解决冲突的安全方法吗?有没有一种替代方法可以用来构建我的项目并包含所有必需的罐子?

kab*_*uko 0

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