罐子不匹配!修复您的依赖项

SKK*_*SKK 71 eclipse android jar

重现步骤:

  1. 创建一个Android项目"MyApp"
  2. 导入ActionBarSherlock(ABS),Directional ViewPager(DVP)或任何其他使用android支持库的开源库.
  3. 将库添加到项目"MyApp"

控制台日志:

[2013-04-17 14:27:12 - MyApp] Found 2 versions of android-support-v4.jar in the dependency list,
[2013-04-17 14:27:12 - MyApp] but not all the versions are identical (check is based on SHA-1 only at this time).
[2013-04-17 14:27:12 - MyApp] All versions of the libraries must be the same at this time.
[2013-04-17 14:27:12 - MyApp] Versions found are:
[2013-04-17 14:27:12 - MyApp] Path: C:\Users\santhosh\My_Workspace\DVP_library\libs\android-support-v4.jar
[2013-04-17 14:27:12 - MyApp]   Length: 140011
[2013-04-17 14:27:12 - MyApp]   SHA-1: fc834ac8147bc4ed0b555f90f500a57d4232c448
[2013-04-17 14:27:12 - MyApp] Path: C:\Users\santhosh\My_Workspace\abs_library\libs\android-support-v4.jar
[2013-04-17 14:27:12 - MyApp]   Length: 271754
[2013-04-17 14:27:12 - MyApp]   SHA-1: 53307dc2bd2b69fd5533458ee11885f55807de4b
[2013-04-17 14:27:12 - MyApp] Jar mismatch! Fix your dependencies
Run Code Online (Sandbox Code Playgroud)

我知道我想从libs文件夹中删除android-support-v4.jar并且只保留一份副本.但是,这不是解决我的问题.

当我尝试从MyApp中删除android-support-v4.jar时,它会给我以下错误.

 Problems encountered while deleting resources.
 Could not delete 'C:\Users\santhosh\My_Workspace\MyApp\libs\android-support-v4.jar'.
Run Code Online (Sandbox Code Playgroud)

当我尝试从ABS中删除android-support-v4.jar时,它会给我以下错误

 ????? cannot be resolved to a type error.
Run Code Online (Sandbox Code Playgroud)

我试图清理项目,修复项目属性.重新启动eclipse,构建,导入并再次添加.我试图将libs文件夹中的支持jar从一个库复制到另一个库.删除两个库中的支持jar并将其添加到MyApp项目中.没有什么对我有用.

如果我尝试添加单个库,它工作正常.我在尝试将2个或更多库添加到单个项目时遇到问题.

在MyApp中添加两个库时出错:

The project was not built since its build path is incomplete. 
Cannot find the class file for android.support.v4.app.FragmentActivity. 
Fix the build path then try building this project MyApp Unknown Java Problem
The type android.support.v4.app.FragmentActivity cannot be resolved. It is indirectly referenced from required .class files MyActivity.java/MyApp/src/com/santhosh/myapp    line 10 Java Problem
Jar mismatch! Fix your dependencies MyApp Unknown Android Dependency Problem
Run Code Online (Sandbox Code Playgroud)

Muh*_*iri 54

不要在库中包含android-support-v4,而是可以使用构建路径菜单>添加外部jar将其作为外部jar添加到项目中

有时你必须清理你的项目.


pjc*_*jco 49

仅为支持库使用库项目

截至ADT 22,使用Eclipse Juno

我不认为以上任何一个都是最好的答案.我也不认为建议再使用external jarEclipse中的函数(AFAIK).

相反,对我有用的是创建一个单独的空库项目.

然后使用 Android tools> Add Support Library获取您需要或想要的最新版本.

然后从所有其他项目中删除支持lib jar.

最后,对于需要它的每个项目,添加对新库项目的引用

(project properties)> Android> (Library box)>Add...

然后,您的所有项目都将使用单个源来更新支持库.这也使javadoc更容易上班.

有关如何设置javadocs的信息,请参阅:

如何将javadoc或源附加到libs文件夹中的jar?


Pra*_*ani 16

android-support-v4.jar从项目中删除libs文件夹中的文件.


Rag*_*dan 7

Actionbarsherlock中包含支持库.如果支持库也在您的主项目中,这可能会导致冲突.

android-support-v4.jar从项目的libs目录中删除.

android-support-v4.jar从第二个库中删除,然后重试.

Jar Mismatch在依赖项列表中找到了2个版本的android-support-v4.jar


net*_*tie 5

我同意pjco.最好的方法是在developer.android.com教程的支持库设置中解释的官方方法.

然后,在Eclipse "包浏览器"中,展开您的主项目并从"libs"文件夹中删除android-support-v4.jar(如Pratik Butani 建议的那样).

这对我有用.


Gop*_*rma 5

  1. 当您在应用程序中使用库项目并且两个项目使用不同版本的相同 jar 时,就会出现 Jar 不匹配的情况,因此只需检查应用程序中附加的所有库项目即可。如果存在一些不匹配,则将其删除。

  2. 如果上述过程不起作用,那么只需从构建路径中删除项目依赖项,然后再次添加库项目并构建应用程序。