Исключить класс из зависимости между проектами через 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
}
Спасибо за любую помощь, ребята.