2016-03-27 95 views
0

我使用YouTube SDK在viewpager中播放視頻。只要我運行該應用程序,就會引發此錯誤: 錯誤:執行任務':app:transformClassesWithJarMergingForDebug'失敗。錯誤:使用YouTube API時,執行任務':app:transformClassesWithJarMergingForDebug'失敗

com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/android/youtube/player/internal/u.class

的Manifest.xml:

apply plugin: 'com.android.application' 

android { 
compileSdkVersion 23 
buildToolsVersion "23.0.1" 

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

repositories { 
mavenCentral() 
mavenLocal() 
maven { url "https://jitpack.io" } 
} 

dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
testCompile 'junit:junit:4.12' 
compile 'com.android.support:appcompat-v7:23.1.1' 
compile 'com.android.support:design:23.1.1' 
compile 'com.android.support:support-v4:23.1.1' 
compile 'com.thefinestartist:ytpa:1.2.1' 
compile 'com.ToxicBakery.viewpager.transforms:view-pager-transforms:[email protected]' 
compile 'com.mxn.soul:flowingdrawer-core:1.2.2' 
compile 'com.nineoldandroids:library:2.4.0' 
compile 'com.parse.bolts:bolts-android:1.4.0' 
compile 'com.parse:parse-android:1.13.0' 
compile 'com.android.support:cardview-v7:23.1.1' 
compile 'com.xgc1986.android:parallaxpagertransformer:1.0.3' 
compile('com.github.afollestad.material-dialogs:core:[email protected]') { 
    transitive = true 
} 
compile files('libs/YouTubeAndroidPlayerApi.jar') 
compile 'com.ToxicBakery.viewpager.transforms:view-pager-transforms:[email protected]' 
} 

我不能包括

configurations { 
all*.exclude group: 'com.android.support', module: 'support-v4' 
    } 

爲viewpager使用支持庫V4

回答

0

該錯誤來當你的任何JAR依賴的有同班。確保你沒有添加支持jar作爲gradle和jar依賴。可能有重複的引用到同一個API。

從命令行嘗試./gradlew yourBuildVariantName --debug。您可以安全地從項目或構建文件中刪除它,使用命令./gradlew clean進行清理並重建項目(如果需要,重複)。

檢查這個相關的問題Gradle Duplicate Entry: java.util.zip.ZipExceptionjava.util.zip.ZipException: duplicate entry during packageAllDebugClassesForMultiDex

0

我觀察過Android Studio後同樣的問題升級到版本2.2預覽6條

然後我刪除線:從兩個

compile(name: 'YouTubeAndroidPlayerApi', ext: 'jar')

flatDir { dirs 'libs'}

build.grad le文件並且問題沒有了。

看起來'libs'目錄是自動生成的,但我無法在Google頁面上找到任何確認。

0

中的build.gradle文件中添加

dependencies { 
compile 'com.android.support:support-v4:24.2.1' 
} 

相關問題