Ответ 1
add compile 'com.android.support:support-v4:26.1.0'
для сборки файла.gradle в модуле приложения.
Я пытаюсь обновить старое приложение для поддержки Android API 26, и одна из вещей, которую мне нужно использовать, - это android.support.v4.content.FileProvider - но он не был найден.
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="${applicationId}.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
Из-за ранней сборки Android файл gradle кажется простым. Это так же просто, как добавление зависимости? Я смотрю вокруг, и некоторые предложили добавить мультидекс, который я не понимаю. Любая помощь приветствуется, спасибо!
android {
compileSdkVersion 26
buildToolsVersion '26.0.2'
defaultConfig {
applicationId "virtualgs.spaint"
minSdkVersion 22
targetSdkVersion 26
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
add compile 'com.android.support:support-v4:26.1.0'
для сборки файла.gradle в модуле приложения.
Начиная с AndroidX (перепакованная библиотека поддержки Android), путь - androidx.core.content.FileProvider
поэтому обновленный тег провайдера будет:
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
Библиотеки поддержки Android теперь находятся в иерархии пакетов androidx.*
.
android.*
теперь зарезервировано для встроенных системных библиотек Android.
Я заменил его более новой версией: androidx.core.content.FileProvider
Это сработало для меня.
Создайте свой класс
import android.support.v4.content.FileProvider;
public class GenericFileProvider extends FileProvider {
}
Добавьте этого провайдера в свой AndroidManifest.xml под тегом приложения:
<provider
android:name=".utilities.GenericFileProvider"
android:authorities="${applicationId}.utilities.GenericFileProvider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
</provider>