Unity facebook sdk ‘Didn’t find class „com.facebook.FacebookContentProvider”” mai sunt alte remedii / soluții pentru acest lucru? (Dezvoltarea jocurilor, Unitate, Android, Facebook)

grizzly_beer a intrebat.

Cum să replicăm această eroare…

  • Creați un nou proiect Unity.

  • Importați pachetul de unități facebook sdk

  • Setați ID-ul aplicației pentru facebook prin intermediul FacebookEdit Settings

  • Folosind AssetsExternal dependency managerAndroid, apăsați „Resolve dependencies”, apoi apăsați „delete resolved libraries” (altfel construcția va eșua în etapa gradle)

  • Construiți și rulați.

  • Când aplicația încearcă să ruleze, primesc imediat mesajul de eroare pe telefon „app has stopped working” (aplicația a încetat să mai funcționeze) și văd această eroare în jurnale …

    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]]
    

Sugestii de remediere pe care le-am încercat de aici

  1. Am încercat diferite combinații de sdks facebook vechi sau noi și versiuni vechi sau noi de Unity.

  2. Am încercat să construiesc de pe câteva mașini diferite pe diferite dispozitive Android.

  3. Am șters managerul de dependențe externe inclus cu sdk-ul facebook și am folosit acesta în loc. Pentru ca acesta să se rezolve, a trebuit să setez un „Custom Gradle Properties Template’in the player setting under publishing settings”.

  4. Am setat un Custom Proguard file’in the player setting sub publishing settings, și am adăugat următoarele două linii în fișier…

    -keep class com.facebook.internal.* {*;}
    -keep class com.facebook.* {*;}
    

Așa că am încercat toate remedierile sugerate și diverse combinații ale acestora. Nu știu ce mai pot face. Poate cineva să sugereze altceva pentru a încerca?

1 răspunsuri
grizzly_beer

Ok iată o metodă specifică pe care am urmat-o unde a funcționat.

  • Versiunea Unity: 2019.3.15f1

  • Versiunea Facebook SDK: 7.21.2

  • Utilizând bibliotecile PlayServicesResolver, Resolve

  • Do not Delete Resolved Libraries (Ștergeți bibliotecile rezolvate)

  • Setați un fișier Proguard personalizat în setările playerului din setările de publicare și adăugați următoarele două linii la fișier:…

      -keep public class com.facebook.**{public *; } 
      -keep public class com.facebook.internal.**{ public *; }
    
  • Comentați aceste linii din mainTemplate.gradle

         com.android.support:appcompat-v7
         com.android.support:support-v4
         com.android.support:customtabs
    

Astfel, mainTemplate.gradle va arăta astfel…

    `// 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**}<span class="math-container">`</span>