2016-07-18 22 views
0

私のアプリケーションでTwilioを使いたいですか?主な私は、依存関係重複のビルドエラー(Apache HttpClient) - Android

compile group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5.1' 

しかしを追加しました私は構築しようとしたときに問題が、ビルドエラーがある

Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'. 
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: org/apache/http/concurrent/Cancellable.class 

Build.gradle

apply plugin: 'com.android.application' 

    android { 
     compileSdkVersion 23 
     buildToolsVersion "23.0.3" 
    // useLibrary 'org.apache.http.legacy' 
     packagingOptions { 
      exclude 'META-INF/DEPENDENCIES.txt' 
      exclude 'META-INF/DEPENDENCIES' 
      exclude 'META-INF/dependencies.txt' 
      exclude 'META-INF/LICENSE.txt' 
      exclude 'META-INF/LICENSE' 
      exclude 'META-INF/license.txt' 
      exclude 'META-INF/LGPL2.1' 
      exclude 'META-INF/NOTICE.txt' 
      exclude 'META-INF/NOTICE' 
      exclude 'META-INF/notice.txt' 
      exclude 'META-INF/ASL2.0' 
     } 
     defaultConfig { 
      applicationId "com.example.twillosample" 
      minSdkVersion 19 
      targetSdkVersion 22 
      versionCode 1 
      versionName "1.0" 
      multiDexEnabled true 
     } 
     buildTypes { 
      release { 
       minifyEnabled false 
       proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
      } 
     } 

    } 
    allprojects { 
     repositories { 
      jcenter() 
     } 
    } 
    dependencies { 
     compile 'com.android.support:appcompat-v7:23.3.0' 
     compile 'com.twilio.sdk:twilio-java-sdk:5.10.0' 
     compile group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5.1' 
    // compile (group: 'org.apache.httpcomponents' , name: 'httpmime' , version: '4.3.5') { 
    //  exclude module: 'org.apache.httpcomponents:httpclient-android' 
    // } 
    } 
+0

'build.gradle'を投稿できますか? –

+0

私は何度も試してみましたが、依存関係を排除する方法を教えてください。 –

+0

@JagadeshSeeram私は答えとして追加しました。 –

答えて

1

そのため理由は、org.apache.httpcomponentsという重複したエントリです。したがって、org.apache.httpcomponentsを含む可能性のあるコンパイルを1つキャッチして除外します。 ews-java-apiの例を見てみましょう。

compile group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5.1' 
compile ('com.microsoft.ews-java-api:ews-java-api:2.0') { 
    exclude group: 'org.apache.httpcomponents' 
} 

NOTE、

compile group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5.1' compile 'com.microsoft.ews-java-api:ews-java-api:2.0' 

は次に、あなたのようなcom.microsoft.ews-java-api:ews-java-api:2.0コンパイルからorg.apache.httpcomponentsを除外しなければならない、あなたのようなあなたのbuild.gradle二つのコンパイルを有することができると仮定します。それが唯一の例です
、参照してください。 this discussionも同様に、

+0

自分のグラブルに除外を追加しました –

+0

両方のコンパイルで別々に試しましたか? –

+0

グラブルに 'httpclient'を追加しても。例外があります - NoClassDefFound - PoolingClientConnectionManager –

関連する問題