2016-03-08 44 views
2

我開發了一個使用谷歌應用程序引擎的應用程序。 大廈是好的,但是當我試圖運行它, 我得到這個錯誤:Duplicate entry:AbstractHttpContent.class

Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/appengine/repackaged/com/google/api/client/http/AbstractHttpContent.class 

試圖運行在Android Studio中的應用程序時。

這裏是我的gradle產出:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.2" 

    defaultConfig { 
     applicationId "bgu.wingmanapp" 
     minSdkVersion 15 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
     multiDexEnabled true 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    //compile fileTree(dir: 'libs', include: ['*.jar']) 
    // testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:23.2.0' 
    compile 'com.android.support:design:23.2.0' 
    compile 'com.android.support:support-v4:23.2.0' 
    compile 'com.facebook.android:facebook-android-sdk:[4,5)' 
    compile project(path: ':backend', configuration: 'android-endpoints') 
    compile ('com.google.appengine:appengine-api-1.0-sdk:1.9.18') 
    compile ('com.google.appengine:appengine-endpoints:1.9.18') 
} 

和後端的gradle產出:

// If you would like more information on the gradle-appengine-plugin please refer to the github page 
// https://github.com/GoogleCloudPlatform/gradle-appengine-plugin 

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.google.appengine:gradle-appengine-plugin:1.9.18' 
    } 
} 

repositories { 
    jcenter(); 
} 

apply plugin: 'java' 
apply plugin: 'war' 
apply plugin: 'appengine' 

sourceCompatibility = JavaVersion.VERSION_1_7 
targetCompatibility = JavaVersion.VERSION_1_7 

dependencies { 
    appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.18' 
    compile 'com.google.appengine:appengine-endpoints:1.9.18' 
    compile 'com.google.appengine:appengine-endpoints-deps:1.9.18' 
    compile 'javax.servlet:servlet-api:2.5' 
} 

appengine { 
    downloadSdk = true 
    appcfg { 
    oauth2 = true 
    } 
    endpoints { 
    getClientLibsOnBuild = true 
    getDiscoveryDocsOnBuild = true 
    } 
} 

我明白,我有一個ducplicate依賴,但我解決不了。謝謝!

+0

你解決了這個問題嗎? – kavie

回答

1

如果你編譯這個項目:如果您運行以下兩個符合,那麼你將有你上述編譯了該項目的副本

compile project(path: ':backend', configuration: 'android-endpoints') 

。如果您使用的是

compile ('com.google.appengine:appengine-api-1.0-sdk:1.9.18') 

compile ('com.google.appengine:appengine-endpoints:1.9.18') 

另外:你應該刪除它們

compile fileTree(dir: 'libs', include: ['*.jar'])......(I am aware you have commented it out) 

你也可能有相同的外部庫文件在您的「應用」或「後臺」模塊正在被由於編譯整個文件樹而被調用兩次。

+0

刪除了這個工作:編譯fileTree(dir:'libs',include:['* .jar']),自4個小時以來一直在與這個erroe掙扎。謝謝 –