无法获取提供程序 com.facebook.FacebookContentProvider ||没找到 class "com.facebook.FacebookContentProvider"
Unable to get provider com.facebook.FacebookContentProvider || Didn't find class "com.facebook.FacebookContentProvider"
android 构建在集成 crashlytics 后在启动时崩溃。问题也发布在 github 此处 https://github.com/facebook/react-native/issues/30828。当我 运行 设备上的应用程序开始初始化 Crashlytics 并且初始化成功但应用程序崩溃并出现此错误。
错误
2021-02-02 12:38:54.894 24528-24528/com.ryseup E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.ryseup, PID: 24528
java.lang.RuntimeException: Unable to get provider com.facebook.FacebookContentProvider: java.lang.ClassNotFoundException: Didn't find class "com.facebook.FacebookContentProvider" on path: DexPathList[[zip file "/data/app/com.ryseup-UPmGRFNEOmi2dcvGtmIabQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.ryseup-UPmGRFNEOmi2dcvGtmIabQ==/lib/arm64, /data/app/com.ryseup-UPmGRFNEOmi2dcvGtmIabQ==/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64, /product/lib64]]
at android.app.ActivityThread.installProvider(ActivityThread.java:7237)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:6721)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6618)
at android.app.ActivityThread.-wrap2(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2084)
at android.os.Handler.dispatchMessage(Handler.java:109)
at android.os.Looper.loop(Looper.java:166)
at android.app.ActivityThread.main(ActivityThread.java:7555)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:469)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:963)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.facebook.FacebookContentProvider" on path: DexPathList[[zip file "/data/app/com.ryseup-UPmGRFNEOmi2dcvGtmIabQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.ryseup-UPmGRFNEOmi2dcvGtmIabQ==/lib/arm64, /data/app/com.ryseup-UPmGRFNEOmi2dcvGtmIabQ==/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64, /product/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at android.app.ActivityThread.installProvider(ActivityThread.java:7222)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:6721)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6618)
at android.app.ActivityThread.-wrap2(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2084)
at android.os.Handler.dispatchMessage(Handler.java:109)
at android.os.Looper.loop(Looper.java:166)
at android.app.ActivityThread.main(ActivityThread.java:7555)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:469)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:963)
react-native 信息
System:
OS: macOS 11.0.1
CPU: (4) x64 Intel(R) Core(TM) i5-5250U CPU @ 1.60GHz
Memory: 26.82 MB / 8.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 12.13.0 - ~/.nvm/versions/node/v12.13.0/bin/node
Yarn: 1.22.10 - /usr/local/bin/yarn
npm: 6.12.0 - ~/.nvm/versions/node/v12.13.0/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
Managers:
CocoaPods: 1.10.0 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 14.2, DriverKit 20.0, macOS 11.0, tvOS 14.2, watchOS 7.1
Android SDK:
API Levels: 23, 26, 28, 29, 30
Build Tools: 28.0.3, 29.0.2, 30.0.2
System Images: android-29 | Google Play Intel x86 Atom, android-30 | Google APIs Intel x86 Atom
Android NDK: Not Found
IDEs:
Android Studio: 4.1 AI-201.8743.12.41.6953283
Xcode: 12.2/12B45b - /usr/bin/xcodebuild
Languages:
Java: 1.8.0_275 - /usr/bin/javac
Python: 2.7.16 - /usr/bin/python
npmPackages:
@react-native-community/cli: Not Found
react: 16.13.1 => 16.13.1
react-native: 0.63.3 => 0.63.3
react-native-macos: Not Found
npmGlobalPackages:
*react-native*: Not Found
抱歉给您带来不便!
目前已修复,我过去曾使用过 Facebook 登录,但现在它已从本机代码和 package.json 中删除,但集成并未从 android 端删除。
我删除了这些行
--- <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
--- <provider android:authorities="com.facebook.app.FacebookContentProvider249341956089060 android:name="com.facebook.FacebookContentProvider"
--- android:exported="true" />
android 构建在集成 crashlytics 后在启动时崩溃。问题也发布在 github 此处 https://github.com/facebook/react-native/issues/30828。当我 运行 设备上的应用程序开始初始化 Crashlytics 并且初始化成功但应用程序崩溃并出现此错误。
错误
2021-02-02 12:38:54.894 24528-24528/com.ryseup E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.ryseup, PID: 24528
java.lang.RuntimeException: Unable to get provider com.facebook.FacebookContentProvider: java.lang.ClassNotFoundException: Didn't find class "com.facebook.FacebookContentProvider" on path: DexPathList[[zip file "/data/app/com.ryseup-UPmGRFNEOmi2dcvGtmIabQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.ryseup-UPmGRFNEOmi2dcvGtmIabQ==/lib/arm64, /data/app/com.ryseup-UPmGRFNEOmi2dcvGtmIabQ==/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64, /product/lib64]]
at android.app.ActivityThread.installProvider(ActivityThread.java:7237)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:6721)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6618)
at android.app.ActivityThread.-wrap2(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2084)
at android.os.Handler.dispatchMessage(Handler.java:109)
at android.os.Looper.loop(Looper.java:166)
at android.app.ActivityThread.main(ActivityThread.java:7555)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:469)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:963)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.facebook.FacebookContentProvider" on path: DexPathList[[zip file "/data/app/com.ryseup-UPmGRFNEOmi2dcvGtmIabQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.ryseup-UPmGRFNEOmi2dcvGtmIabQ==/lib/arm64, /data/app/com.ryseup-UPmGRFNEOmi2dcvGtmIabQ==/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64, /product/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at android.app.ActivityThread.installProvider(ActivityThread.java:7222)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:6721)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6618)
at android.app.ActivityThread.-wrap2(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2084)
at android.os.Handler.dispatchMessage(Handler.java:109)
at android.os.Looper.loop(Looper.java:166)
at android.app.ActivityThread.main(ActivityThread.java:7555)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:469)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:963)
react-native 信息
System:
OS: macOS 11.0.1
CPU: (4) x64 Intel(R) Core(TM) i5-5250U CPU @ 1.60GHz
Memory: 26.82 MB / 8.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 12.13.0 - ~/.nvm/versions/node/v12.13.0/bin/node
Yarn: 1.22.10 - /usr/local/bin/yarn
npm: 6.12.0 - ~/.nvm/versions/node/v12.13.0/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
Managers:
CocoaPods: 1.10.0 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 14.2, DriverKit 20.0, macOS 11.0, tvOS 14.2, watchOS 7.1
Android SDK:
API Levels: 23, 26, 28, 29, 30
Build Tools: 28.0.3, 29.0.2, 30.0.2
System Images: android-29 | Google Play Intel x86 Atom, android-30 | Google APIs Intel x86 Atom
Android NDK: Not Found
IDEs:
Android Studio: 4.1 AI-201.8743.12.41.6953283
Xcode: 12.2/12B45b - /usr/bin/xcodebuild
Languages:
Java: 1.8.0_275 - /usr/bin/javac
Python: 2.7.16 - /usr/bin/python
npmPackages:
@react-native-community/cli: Not Found
react: 16.13.1 => 16.13.1
react-native: 0.63.3 => 0.63.3
react-native-macos: Not Found
npmGlobalPackages:
*react-native*: Not Found
抱歉给您带来不便! 目前已修复,我过去曾使用过 Facebook 登录,但现在它已从本机代码和 package.json 中删除,但集成并未从 android 端删除。
我删除了这些行
--- <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
--- <provider android:authorities="com.facebook.app.FacebookContentProvider249341956089060 android:name="com.facebook.FacebookContentProvider"
--- android:exported="true" />