2016-01-22 5 views
2

После переустановки Android Studio после сбоя диска я обновил зависимости для моего проекта, чтобы отразить API 21. Это привело к использованию multiDex, поэтому моя build.gradle теперь содержит:TransformException дублирующаяся запись для GoogleCloudMessaging

compileSdkVersion 21 
buildToolsVersion '21.1.2' 
defaultConfig { 
    minSdkVersion 17 
    targetSdkVersion 21 
    multiDexEnabled true 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile ('com.android.support:support-v4:21.0.3') { 
     exclude group: 'com.google.android.gms' 
    } 
    compile ('com.android.support:appcompat-v7:21.0.3') { 
     exclude group: 'com.google.android.gms' 
    } 
    compile ('com.android.support:multidex:1.0.0') { 
     exclude group: 'com.google.android.gms' 
    } 
    compile 'com.google.android.gms:play-services-gcm:7.+' 
    compile files('libs/android-async-http-1.4.4.jar') 
} 

Обратите внимание: я не хочу обновлять API 23 на данном этапе для согласованности с дочерним приложением.

я получаю следующее сообщение об ошибке, когда я пытаюсь построить:

Execution Сбой задачи ": приложение: transformClassesWithJarMergingForDebug. com.android.build.api.transform.TransformException: java.util.zip.ZipException: дублировать запись: COM/Google/Android/GMS/гсм/GoogleCloudMessaging $ 1.class

Я добавил «исключить группу 'линии к зависимостям только при попытке разрешить дублирование.

Очистка проекта не имеет значения (я пробовал как из терминала, так и из меню «Студия»).

Выход из ./gradlew app:dependencies выглядит следующим образом:

+--- com.android.support:multidex:1.0.1 
+--- com.android.support:support-v4:21.0.3 -> 22.2.0 
| \--- com.android.support:support-annotations:22.2.0 
+--- com.android.support:appcompat-v7:21.0.3 
| \--- com.android.support:support-v4:21.0.3 -> 22.2.0 (*) 
+--- com.android.support:multidex:1.0.0 -> 1.0.1 
\--- com.google.android.gms:play-services-gcm:7.+ -> 7.8.0 
    \--- com.google.android.gms:play-services-base:7.8.0 
      \--- com.android.support:support-v4:22.2.0 (*) 

Извинения, если это дублирует другой SO вопрос, но я посмотрел на другие вопросы, и они не помогли, так как я не могу см., где введено дублирование. Может ли кто-нибудь сказать мне источник дублирования?

ответ

0

Обнаружено это, и просто попытаться помочь, если кто-то еще увидит что-то подобное ... Это был проект, который был импортирован в Studio из Eclipse, и в папке libs все еще был баннер Google Play Services, следовательно столкновение с зависимостью градиента. Я не мог сказать, что баннер был там из интерфейса Studio, хотя мне пришлось смотреть прямо в папку, и это было всего лишь введение multiDex, вызвавшего ошибку.

+0

Я также сталкиваюсь с тем же вопросом. Пожалуйста, проверьте ссылку http://stackoverflow.com/questions/37874487/java-util-zip-zipexception-duplicate-entrycom-google-android-gms-auth-userreco – kavie

Смежные вопросы