我有一个基于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' }
}
任何帮助将不胜感激
答案 0 :(得分:1)
虽然我不是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。
我做了第二个,项目可以构建(一个只定义了这些依赖项的示例项目)。