我有一个基于 eclipse 的旧项目,我将其转换为基于 android studio 的项目。转换成功,但我在添加其他依赖项时遇到问题,首先我得到错误 java.exe finished with non-zero exit value 2
,因为重复依赖支持 v4,我尝试排除模块支持v4,但现在我收到 java.lang.NoClassDefFoundError: android.support.v7.app.AppCompatDelegateImplV14
这是我的 build.gradle:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':SlidingMenu')
compile project(':PhotoView')
compile project(':viewpager')
compile project(':StackBlur')
compile project(':FacebookSDK')
compile files('libs/LibAllShareInterface_2.0.0.jar')
// Exclude module support-v4 to remove duplicate
compile ('com.android.support:appcompat-v7:22.2.0') { exclude module: 'support-v4' }
compile('com.android.support:design:22.2.0') { exclude module: 'support-v4' }
compile('com.squareup.picasso:picasso:2.5.2') { exclude module: 'support-v4' }
compile('com.android.support:recyclerview-v7:21.0.0') { exclude module: 'support-v4' }
compile('com.android.support:cardview-v7:22.2.0') { exclude module: 'support-v4' }
compile('com.android.support:support-annotations:22.2.0') { exclude module: 'support-v4' }
}
任何帮助将不胜感激
最佳答案
虽然我不是 gradle 专家而且我自己也遇到了一些问题,但我能够使用您的依赖项重现提示 appcompat-v4 的错误。
您似乎完全从所有依赖项中排除了 support-v4,并且由于需要 support-v4,因此您必须将其单独指定为依赖项,或者更改此设置:
compile ('com.android.support:appcompat-v7:22.2.0') { exclude module: 'support-v4' }
为此:
compile ('com.android.support:appcompat-v7:22.2.0')
因此您不会从您的项目中完全排除 support-v4。
我做了第二个,项目可以构建(一个示例项目,只定义了那些依赖项)。
关于android - 在 gradle 中排除支持 v4 以删除重复但得到 java.lang.NoClassDefFoundError : android. support.v7.app.AppCompatDelegateImplV14,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30934102/