Ошибка создания apk, ТОЛЬКО при создании подписанного apk

Я изо всех сил пытался решить проблему, пробовал несколько вариантов, но не смог ее решить.

Получение проблемы, только при создании подписанного apk:

Ошибка: не удалось выполнить задачу ':app:transformClassesWithJarMergingForDebug'. com.android.build.api.transform.TransformException: java.util.zip.ZipException: повторяющаяся запись: com/applovin/adview/AdViewController.class

Структура библиотеки: http://prntscr.com/ay9uam

Структура зависимости:

dependencies {
    compile 'com.android.support:multidex:1.0.1'

    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.3.0'
    compile 'com.android.support:recyclerview-v7:23.3.0'
    compile project(':library')
    compile 'com.google.android.gms:play-services:8.4.0'
    //compile 'com.google.android.gms:play-services-ads:8.4.0'
    compile 'com.pollfish:pollfish:+:googleplayRelease@aar'

}

Примечание. multiDexEnabled true и compile 'com.android.support:multidex:1.0.1' — это то, что мне нужно для решения одной проблемы, поэтому я добавил их. Когда я это делаю, CMD+O(Mac) для поиска AdViewController.class я получаю: http://prntscr.com/ay9uoy

Каким должен быть мой следующий шаг для решения проблемы, приложение работает нормально во всех случаях (работает в эмуляторе, устройстве...) и только во время создания подписанного apk я получаю указанную выше проблему, которая является последним шагом моей задачи, я м застрял.

Любые ответы будут благом для меня.


person Hooda    schedule 29.04.2016    source источник
comment
Вы использовали minifyEnabled true?   -  person Eric B.    schedule 29.04.2016


Ответы (2)


Похоже, play-services уже содержит support-v4. Попробуйте исключить его из classpath

compile('com.google.android.gms:play-services:8.1.0') {
exclude group: 'com.android.support', module: 'support-v4'
}

в противном случае вы используете эту ссылку: TransformException дублирующаяся запись для common.annotations.Beta

person Damini Mehra    schedule 29.04.2016
comment
Знаете ли вы, что и как исключать файлы при добавлении в качестве библиотеки в папку /libs. Мне нужно что-то исключить из ошибок: повторяющаяся запись: com/applovin/adview/AdViewController.class - person Hooda; 29.04.2016

Наконец-то я смог решить проблему. Поскольку это было дублирование класса applovin, его необходимо исключить, и хитрость заключалась в следующем:

compile fileTree(include: ['*.jar'],excludes: ['applovin-sdk-6.1.5.jar'], dir: 'libs')

Надеюсь, это поможет кому-то.

person Hooda    schedule 29.04.2016