Unity:添加Facebook SDK后无法构建Android--渐变错误:属性冲突
统一2019.3.13 我的项目已经有几个SDK/库。。 团结协会, 统一推送通知, 铁源, 游戏火花 当我添加facebook sdk并在Android上构建时,我犯了很多错误 我发现 上面说 请从库中删除该属性,或向应用程序标记中添加“工具:替换”属性,以指示应如何解决合并冲突 项目中有两个AndroidManifest.xml文件。我找不到任何与“componentfactory”有关的东西。 我也不明白这个“建议” 如果我在另一个中这样做,我会得到这些错误 **************编辑2************************* 我尝试在一个AndroidManifest.xml文件中使用这样的应用程序标记Unity:添加Facebook SDK后无法构建Android--渐变错误:属性冲突,android,facebook,unity3d,gradle,android-manifest,Android,Facebook,Unity3d,Gradle,Android Manifest,统一2019.3.13 我的项目已经有几个SDK/库。。 团结协会, 统一推送通知, 铁源, 游戏火花 当我添加facebook sdk并在Android上构建时,我犯了很多错误 我发现 上面说 请从库中删除该属性,或向应用程序标记中添加“工具:替换”属性,以指示应如何解决合并冲突 项目中有两个AndroidManifest.xml文件。我找不到任何与“componentfactory”有关的东西。 我也不明白这个“建议” 如果我在另一个中这样做,我会得到这些错误 *************
<application tools:replace="android:appComponentFactory" android:appComponentFactory="@string/app_name">
删除旧sdk
在“Assets\FacebookSDK\Plugins\Android\libs”中
删除旧sdk
在“Assets\FacebookSDK\Plugins\Android\libs”中
问题细化:
FacebookSDK for Unity具有AndroidSupportLibraryResolver脚本,该脚本将com.android.support
依赖项添加到gradle项目中。此脚本被编译到FacebookSDK/Plugins/Editor/Facebook.Unity.Editor.dll中,因此您无法编辑或删除它
com.android.support
库已过时。几乎所有其他已经迁移到的库和SDK现在都应该使用
如果在项目中同时具有这两个依赖项,则会出现这样的错误。
但是有一个名为的工具可以将com.android.support
依赖项转换为androidx
。您只需要启用此工具
解决方案:
在此处找到解决方案:
在Unity中,转到项目设置->播放器->Android->发布设置
启用“自定义主渐变模板”和“自定义渐变属性模板”
运行资产->播放服务解析器->Android解析器->强制解析
打开Assets/Plugins/Android/mainTemplate.gradle并添加
就在//Android解析器Repos Start
行下面
打开资产/Plugins/Android/gradleTemplate.properties并添加
在**附加属性**
行之前问题确定:
FacebookSDK for Unity具有AndroidSupportLibraryResolver脚本,该脚本将com.android.support
依赖项添加到gradle项目中。此脚本被编译到FacebookSDK/Plugins/Editor/Facebook.Unity.Editor.dll中,因此您无法编辑或删除它
com.android.support
库已过时。几乎所有其他已经迁移到的库和SDK现在都应该使用
如果在项目中同时具有这两个依赖项,则会出现这样的错误。
但是有一个名为的工具可以将com.android.support
依赖项转换为androidx
。您只需要启用此工具
解决方案:
在此处找到解决方案:
在Unity中,转到项目设置->播放器->Android->发布设置
启用“自定义主渐变模板”和“自定义渐变属性模板”
运行资产->播放服务解析器->Android解析器->强制解析
打开Assets/Plugins/Android/mainTemplate.gradle并添加
就在//Android解析器Repos Start
行下面
打开资产/Plugins/Android/gradleTemplate.properties并添加
在**附加属性**
行之前
<application>
<application tools:replace="android:appComponentFactory">
XmlException: 'tools' is an undeclared prefix. Line 4, position 16.
<application tools:replace="android:appComponentFactory" android:appComponentFactory="@string/app_name">
([rootProject] + (rootProject.subprojects as List)).each {
ext {
it.setProperty("android.useAndroidX", true)
it.setProperty("android.enableJetifier", true)
}
}
android.useAndroidX=true
android.enableJetifier=true