通过Gradle从跨项目依赖项中排除类

时间:2017-07-16 02:47:59

标签: android unity3d build.gradle unity5 buildconfig

我最近升级到Unity 5.6,希望利用Gradle构建管道(解决令人讨厌的dex限制)。

经过几天的配置后,我遇到了这个令人头疼的问题。以下是Unity Editor控制台中显示的错误:

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
}

因此,似乎某些插件/外部项目包含一个BuildConfig类文件,该文件具有完全相同的包名称(如文件结构所示,以及为什么我必须在主项目gradle中将enforceUniquePackageName设置为false)。 / p>

在Android Studio中,当查找BuildConfig文件时,我注意到两个具有相同包名称的不同项目。其中一个项目绝对是主要的Unity项目,而另一个是自动包含的项目:unity-android-resources。

我有办法吗?

  • 从自动生成的内容中排除BuildConfig.java unity-android-resources项目通过主gradle文件?或者,
  • 有些我可以自动改变包名 生成了unity-android-resources的BuildConfig.java文件?

如果它有帮助,这里是依赖项(并且没有,似乎我可以删除unity-android-resources依赖项,因为构建因缺少图标资源而失败):

<%= favicon_link_tag(source='favicon.ico')%>

感谢任何帮助。

0 个答案:

没有答案