сбой приложения: E / AndroidRuntime + android.support.v4.content.FileProvider не найден - PullRequest
1 голос
/ 23 июня 2019

Недавно я перешел на AndroidX, потому что не смог запустить react-native run-android, и он предложил мне добавить tools:replace="android:appComponentFactory" к моему тегу <application> в моем файле AndroidManifest.xml.так что после долгих поисков меня как-то убедили перейти на AndroidX.Помимо внесения некоторых изменений в файл AndoirdManifest, я добавил 2 строки ниже в мои gradle.properties : android.useAndroidX=true android.enableJetifier=true

... также мне пришлось внести некоторые изменения в 7 пакетов в node_modules, чтобыбыть совместимым с androidx.и, наконец, я смог построить УСПЕШНО, но теперь проблема в том, что мое приложение падает.и в logcat у меня есть ошибка, что E AndroidRuntime: java.lang.RuntimeException: Unable to get provider android.support.v4.content.FileProvider: .... в некоторых поисках я обнаружил, что, возможно, внесение некоторых изменений в <provider> в файле AnroidManifest было бы ответом, но правда в том, что в моем файле AndroidManifest нет тегов провайдера,так что я снова застрял и не знаю, как решить эту проблему

Дополнительная информация: ((пакеты, которые были изменены)):

`|__ lottie-react-native
 |__ react-native-firebase
 |__ react-native-gesture-handler
 |__ @cedarstudios
    `|__ react-native-mapbox-gl
 |__ react-native-maps
 |__ react-native-push-notifications
 |__ rn-fetch-blob

Что я пробовал:

Я добавил провайдера, затем снова появляются новые ошибки.затем я снова удалил

часть моего файла AndroidManifest.xml:

<application
      tools:replace="android:appComponentFactory"
      android:appComponentFactory="androidx.core.app.CoreComponentFactory"
      android:name=".MainApplication"
      android:allowBackup="false"
      android:fullBackupContent="false"
      android:label="@string/app_name"
      android:supportsRtl="false"
      android:icon="@mipmap/ic_launcher"
      android:largeHeap="true"
      android:theme="@style/AppTheme">

часть ошибки logcat:

54565:06-23 16:00:09.544 22227 22227 E AndroidRuntime: Process: com.myAppName, PID: 22227
54566:06-23 16:00:09.544 22227 22227 E AndroidRuntime: java.lang.RuntimeException: Unable to get provider android.support.v4.content.FileProvider: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.content.FileProvider" on path: DexPathList[[zip file "/system/framework/org.apache.http.legacy.boot.jar", zip file "/data/app/com.myAppName-YLgUAaSaaK5LGP1d0LJLSw==/base.apk"],nativeLibraryDirectories=[/data/app/com.myAppName-YLgUAaSaaK5LGP1d0LJLSw==/lib/arm, /data/app/com.myAppName-YLgUAaSaaK5LGP1d0LJLSw==/base.apk!/lib/armeabi-v7a, /system/lib]]
54578:06-23 16:00:09.544 22227 22227 E AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.content.FileProvider" on path: DexPathList[[zip file "/system/framework/org.apache.http.legacy.boot.jar", zip file "/data/app/com.myAppName-YLgUAaSaaK5LGP1d0LJLSw==/base.apk"],nativeLibraryDirectories=[/data/app/com.myAppName-YLgUAaSaaK5LGP1d0LJLSw==/lib/arm, /data/app/com.myAppName-YLgUAaSaaK5LGP1d0LJLSw==/base.apk!/lib/armeabi-v7a, /system/lib]]

я ожидаю запустить свойприложение успешно на моем телефоне без сбоев

PM если вам нужно узнать больше информации о моей проблеме, чтобы ответить на мой вопрос, спросите меня, пожалуйста.

1 Ответ

0 голосов
/ 24 июля 2019

Нажмите на AndroidManifest.xml, посмотрите внизу страницы файлов, где вы увидите «Текст» и «Объединенные манифесты», затем нажмите «Объединенный манифест» -> найдите «android.support.v4.content.FileProvider», затемизмените его с помощью «androidx.core.content.FileProvider»

Вот и все, точное решение.

Также измените ваш android.support.v4 с библиотеками версий androidx.Пожалуйста, ищите новые версии Android androidx libraris

...