android重复依赖和排除不起作用

时间:2015-11-19 17:29:29

标签: android

我申请后:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.android.gms:play-services:8.1.0'
    compile 'com.android.support:appcompat-v7:23.0.1'
    compile 'com.google.api-client:google-api-client:1.20.0'
    compile files('libs/google-http-client/libs/google-http-client-android-1.20.0.jar')
    {
        exclude group: 'org.apache.httpcomponents', module: 'httpclient' //by both name
    }
}

出现错误:

  

错误:(30,0)未找到Gradle DSL方法:'exclude()'

     

可能的原因:

     
      
  • 项目'Seeingeye'可能正在使用不包含该方法的Gradle版本。打开Gradle包装文件

  •   
  • 构建文件可能缺少Gradle插件。申请Gradle插件

  •   

更新

通过改为:

解决
 compile ('com.google.api-client:google-api-client-android:1.20.0') {
        exclude group: 'org.apache.httpcomponents', module: 'httpclient'
    }

但在构建时会抛出另一个错误:

  • 警告:依赖org.apache.httpcomponents:httpclient:4.0.1是 因为调试可能与内部版本冲突而被忽略 由Android提供。          如有问题,请使用jarjar重新包装以更改类包

  • 警告:依赖org.apache.httpcomponents:httpclient:4.0.1是
    由于可能与内部相互冲突而被忽略 Android提供的版本。             如果有问题,请用jarjar重新打包以更改类包

    错误:任务':app:dexDebug'执行失败。

      

    com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:处理'命令'/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/java ''完成了非零退出值2

似乎前一个问题没有得到妥善解决。 有什么想法吗?

更新已解决

仔细检查了模块应用的build.gradle, 需要添加

“defaultDexEnabled true”到defaultConfig块:

defaultConfig {
        applicationId "com.example.huayiguo.seeingeye"
        minSdkVersion 22
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"

        multiDexEnabled true
    }

谢谢!

1 个答案:

答案 0 :(得分:1)

这个怎么样:

    compile ('com.google.api-client:google-api-client-android:1.20.0') {
        exclude group: 'org.apache.httpcomponents', module: 'httpclient'
    }