我最近升级到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。
我有办法吗?
如果它有帮助,这里是依赖项(并且没有,似乎我可以删除unity-android-resources依赖项,因为构建因缺少图标资源而失败):
<%= favicon_link_tag(source='favicon.ico')%>
感谢任何帮助。