Исключить класс из зависимости между проектами через Gradle

Я недавно обновился до Unity 5.6 в надежде использовать конвейер сборки Gradle (чтобы обойти неприятный лимит dex).

После нескольких дней его настройки я столкнулся с этой проблемой. Вот ошибка, как показано в консоли редактора Unity:

Execution failed for task ':transformClassesWithJarMergingForRelease'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: my/unity/game/BuildConfig.class

Таким образом, кажется, что некоторый внешний модуль / плагин включает в себя файл класса BuildConfig с точно таким же именем пакета (как показано структурой файла, а также почему я должен был установить значение empceUniquePackageName в false в основной программе проекта).

В Android Studio при поиске файла BuildConfig я заметил два разных проекта с одинаковым именем пакета. Один из проектов был определенно для основного проекта Unity, а другой - для автоматически включенного проекта: unity-android-resources.

Есть ли способ, которым я мог бы так или иначе:

  • Исключить BuildConfig.java из автоматически сгенерированного проекта unity-android-resources через основной файл gradle? или же,
  • Можно ли как-нибудь изменить имя пакета для автоматически сгенерированного файла BuildConfig.java для unity-android-resources?

Если это помогает, вот зависимости (и нет, не похоже, что я могу просто удалить зависимость unity-android-resources, так как сборка завершается неудачей из-за некоторых отсутствующих ресурсов значков):

dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile(name: 'GoogleAIDL', ext:'aar')
     compile(name: 'GooglePlay', ext:'aar')
     compile(name: 'appcompat-v7-23.4.0', ext:'aar')
     compile(name: 'cardview-v7-23.4.0', ext:'aar')
     compile(name: 'common', ext:'aar')
     compile(name: 'facebook-android-sdk-4.23.0', ext:'aar')
     compile(name: 'facebook-android-wrapper-7.10.0', ext:'aar')
     compile(name: 'play-services-ads-10.0.1', ext:'aar')
     compile(name: 'play-services-auth-10.0.1', ext:'aar')
     compile(name: 'play-services-auth-base-10.0.1', ext:'aar')
     compile(name: 'play-services-base-10.0.1', ext:'aar')
     compile(name: 'play-services-basement-10.0.1', ext:'aar')
     compile(name: 'play-services-drive-10.0.1', ext:'aar')
     compile(name: 'play-services-games-10.0.1', ext:'aar')
     compile(name: 'play-services-iid-10.0.1', ext:'aar')
     compile(name: 'play-services-nearby-10.0.1', ext:'aar')
     compile(name: 'play-services-tasks-10.0.1', ext:'aar')
     compile(name: 'support-v4-24.0.0', ext:'aar')
     compile project(':Etcetera_lib')
     compile project(':Flurry_lib')
     compile project(':MainLibProj')
     compile project(':PermissionCheckPlugin')
     compile project(':SwrvePush_lib')
     compile project(':fyber-unityads-1.5.6-r3')
     compile project(':unity-android-resources') // <- possible cause of error
}

Спасибо за любую помощь, ребята.

0 ответов

Другие вопросы по тегам