Unity:添加Facebook SDK后无法构建Android--渐变错误:属性冲突

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”有关的东西。 我也不明白这个“建议” 如果我在另一个中这样做,我会得到这些错误 *************

统一2019.3.13

我的项目已经有几个SDK/库。。 团结协会, 统一推送通知, 铁源, 游戏火花

当我添加facebook sdk并在Android上构建时,我犯了很多错误

我发现 上面说 请从库中删除该属性,或向应用程序标记中添加“工具:替换”属性,以指示应如何解决合并冲突

项目中有两个AndroidManifest.xml文件。我找不到任何与“componentfactory”有关的东西。 我也不明白这个“建议”

如果我在另一个中这样做,我会得到这些错误

**************编辑2*************************

我尝试在一个AndroidManifest.xml文件中使用这样的应用程序标记

<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