2016-12-14 73 views
0

你好,我已經開發了一個應用程序,它completed.Now我正在tryting創建發佈APK,但我得到以下異常應用:transformClassesWithJarMergingForRelease」而產生的釋放APK

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

我的應用程序的build.gradle如下 我沒有得到爲什麼差錯在我app.debug發生應用程序運行時創建發佈APK

apply plugin: 'com.android.application' 
repositories { flatDir { 
dirs 'libs' } 
} 
android { 
compileSdkVersion 23 
buildToolsVersion '23.0.3' 
dexOptions { 
    javaMaxHeapSize "4g" // 2g should be also OK 
} 
packagingOptions { 
    exclude 'META-INF/DEPENDENCIES' 
    exclude 'META-INF/NOTICE' 
    exclude 'META-INF/LICENSE' 
    exclude 'META-INF/LICENSE.txt' 
    exclude 'META-INF/NOTICE.txt' 
    exclude 'org/apache/http/entity/mime/version.properties' 
    exclude 'META-INF/maven/org.apache.httpcomponents/httpmime/pom.properties' 
    exclude 'META-INF/maven/org.apache.httpcomponents/httpmime/pom.xml' 
} 
defaultConfig { 
    applicationId "com.XXXX.XXXX" 
    minSdkVersion 16 
    targetSdkVersion 22 
    versionCode 1 
    versionName "1.0" 
    multiDexEnabled true 
} 

buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 

    } 
} 
} 


dependencies { 
compile(name: 'peb-lib', ext: 'aar') 
compile fileTree(dir: 'libs', include: ['*.jar']) 
compile 'com.squareup.retrofit:retrofit:1.9.0' 
compile 'com.google.android.gms:play-services-safetynet:8.3.0' 
compile 'com.squareup.okhttp:okhttp:2.4.0' 
compile 'com.squareup.okhttp:okhttp-urlconnection:2.2.0' 
compile 'com.google.android.gms:play-services-analytics:7.3.0' 
compile 'com.android.support:appcompat-v7:23.0.1' 
compile 'com.android.support:cardview-v7:23.4.0' 
compile 'com.android.support:design:23.0.1' 
compile 'com.android.support:support-v4:23.0.1' 
compile 'com.github.bumptech.glide:glide:3.6.0' 
compile 'com.daimajia.androidanimations:library:[email protected]' 
compile 'com.daimajia.slider:library:[email protected]' 
compile 'com.squareup.picasso:picasso:2.3.2' 
compile 'com.github.bluejamesbond:textjustify-android:2.1.0' 
compile 'com.google.android.gms:play-services:8.4.0' 
compile 'com.facebook.android:facebook-android-sdk:4.1.0' 
compile 'com.rengwuxian.materialedittext:library:2.1.4' 
compile 'com.google.android.gms:play-services-ads:8.4.0' 
compile 'com.google.android.gms:play-services-identity:8.4.0' 
compile 'com.google.android.gms:play-services-gcm:8.4.0' 
compile 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1' 
compile 'com.github.d-max:spots-dialog:[email protected]' 
compile 'com.vlonjatg.android:app-tour:1.0' 
compile 'com.mobsandgeeks:android-saripaar:1.0.3' 
compile 'com.github.traex.rippleeffect:library:1.3' 
compile 'com.wdullaer:materialdatetimepicker:2.3.0' 
compile 'com.android.support:recyclerview-v7:23.1.1' 
compile 'org.jsoup:jsoup:1.8.3' 
compile 'me.relex:circleindicator:[email protected]' 
compile 'it.sephiroth.android.library.imagezoom:imagezoom:+' 

}

perfectely.I我得到錯誤

,因爲我想將發佈playstore.Thanks應用提前

+0

無關(現在),但您應該刪除'compile'c​​om.google.android.gms:play-services:8.4.0''並更新'compile'c​​om.google.android.gms:play-services- analytics:7.3.0''使用'8.4.0' –

回答

0

您正在使用兩種不同的aarjar依賴關係,其中包括Apache的HTTP客戶端請給解決方案。那是你的問題。有一些方法可以檢查jaraar文件的內容,如jadx,但由於您是初學者,所以跟蹤和錯誤方式也應該沒問題。

因此,首先,如果你沒有jar依賴關係,請刪除此行:

compile fileTree(dir: 'libs', include: ['*.jar']) 

現在從您的依賴排除在Apache類,例如:

compile 'com.squareup.retrofit:retrofit:1.9.0' 

需要轉換爲:

compile('com.squareup.retrofit:retrofit:1.9.0') { 
    exclude module: 'httpclient' 
} 

如果仍未編譯,請嘗試下一個dep傾向性等。這應該刪除重複的類。

祝你好運!