android - Unity facebook sdk 'Didn' t find class "com.facebook.FacebookContentProvider"'对此还有什么建议吗?

标签 android facebook unity3d

如何复制此错误...

  • 创建一个新的 Unity 项目。
  • 导入 facebook sdk unitypackage
  • 通过 Facebook\Edit Settings 为 facebook 设置您的 App Id
  • 使用 Assets\External dependency manager\Android,按“解决依赖项”,然后按“删除已解析的库”(否则构建将在 gradle 阶段失败)
  • 构建并运行。
  • 当应用程序尝试运行时,我立即在手机上收到错误消息“应用程序已停止工作”
    并在日志中看到这个错误......
    Caused by: java.lang.ClassNotFoundException: Didn't find class "com.facebook.FacebookContentProvider" on path: DexPathList[[zip file "/data/app/com.SandwichGeneration.MakeASquare--nLEHpzOYlwW6XKmGzPfIw==/base.apk"],nativeLibraryDirectories=[/data/app/com.SandwichGeneration.MakeASquare--nLEHpzOYlwW6XKmGzPfIw==/lib/arm64, /data/app/com.SandwichGeneration.MakeASquare--nLEHpzOYlwW6XKmGzPfIw==/base.apk!/lib/arm64-v8a, /system/lib64, /system/vendor/lib64]]
    

  • 我尝试过的建议修复from here
  • 我尝试过新旧 facebook sdks 和新旧版本 Unity 的不同组合。
  • 我尝试从几台不同的机器构建到不同的 Android 设备。
  • 我删除了 facebook sdk 中包含的外部依赖管理器并使用了 this one反而。为了解决这个问题,我必须在发布设置下的播放器设置中设置“自定义 Gradle 属性模板”。
  • 我在发布设置下的播放器设置中设置了一个自定义 Proguard 文件,并将以下两行添加到文件中。
    -keep class com.facebook.internal.* {*;}
    -keep class com.facebook.* {*;}
    

  • 所以我已经尝试了所有建议的修复及其各种组合。我不知道我还能做什么。任何人都可以建议其他尝试吗?

    最佳答案

    好的,这是我在它起作用的地方遵循的一种特定方法。

  • 统一版本:2019.3.15f1
  • Facebook SDK 版本:7.21.2
  • 使用 PlayServicesResolver,解析库
  • 不要删除已解析的库
  • 在发布设置下的播放器设置中设置一个自定义 Proguard 文件,并将以下两行添加到文件中。
      -keep public class com.facebook.**{public *; } 
      -keep public class com.facebook.internal.**{ public *; }
    
  • 从 mainTemplate.gradle 中注释掉这些行
         com.android.support:appcompat-v7
         com.android.support:support-v4
         com.android.support:customtabs
    

  • 所以你的 mainTemplate.gradle 看起来像这样......
        `// Android Resolver Repos End
        apply plugin: 'com.android.library'
    
        dependencies {
            implementation fileTree(dir: 'libs', include: ['*.jar'])
            implementation 'com.google.android.gms:play-services-ads-identifier:17.0.0' 
        // Android Resolver Dependencies Start
            //implementation 'com.android.support:appcompat-v7:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
            //implementation 'com.android.support:support-v4:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
            //implementation 'com.android.support:customtabs:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
    
            implementation 'com.facebook.android:audience-network-sdk:6.0.0' // Assets/IronSource/Editor/ISFacebookAdapterDependencies.xml:8
            implementation 'com.facebook.android:facebook-applinks:[7.1.0, 8)' // Assets/FacebookSDK/Plugins/Editor/Dependencies.xml:6
            implementation 'com.facebook.android:facebook-share:[7.1.0, 8)' // Assets/FacebookSDK/Plugins/Editor/Dependencies.xml:8
            implementation 'com.android.support:cardview-v7:25.3.1' // Facebook.Unity.Editor.AndroidSupportLibraryResolver.addSupportLibraryDependency
            implementation 'com.facebook.android:facebook-gamingservices:[7.1.0, 8)' // Assets/FacebookSDK/Plugins/Editor/Dependencies.xml:9
            implementation 'com.parse.bolts:bolts-android:1.4.0' // Assets/FacebookSDK/Plugins/Editor/Dependencies.xml:4
            implementation 'com.facebook.android:facebook-core:[7.1.0, 8)' // Assets/FacebookSDK/Plugins/Editor/Dependencies.xml:5
            implementation 'com.facebook.android:facebook-login:[7.1.0, 8)' // Assets/FacebookSDK/Plugins/Editor/Dependencies.xml:7
            implementation 'com.google.android.gms:play-services-ads:19.4.0' // Assets/IronSource/Editor/ISAdMobAdapterDependencies.xml:8
            implementation 'com.google.android.gms:play-services-ads-identifier:17.0.0' // Assets/IronSource/Editor/IronSourceSDKDependencies.xml:17
            implementation 'com.google.android.gms:play-services-basement:17.2.1' // Assets/IronSource/Editor/IronSourceSDKDependencies.xml:25
        // Android Resolver Dependencies End
        **DEPS**}`
    

    关于android - Unity facebook sdk 'Didn' t find class "com.facebook.FacebookContentProvider"'对此还有什么建议吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64064133/

    相关文章:

    c# - Unity Android 前置摄像头 WTF 错误

    android - 如何加载本地html页面到android

    android - 每天更新 Android 应用程序?

    java - 使用 REST API 在 android 中登录 facebook

    facebook - 如何获得对特定 Facebook 页面或应用程序的管理页面权限?

    c# - Camera.main 空引用异常

    android - 如何更改PreferenceFragment样式/主题?

    android - Retrofit 2 with 协程调用适配器工厂取消请求

    java - RestFB 不会从特定帐户获取特定关键字的帖子吗?

    c# - 统一: GetPixels() always results in the colour black across whole image