Android API 26をサポートするために動作する古いアプリをアップグレードしようとしています。使用する必要があるものの1つは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ファイルは単純に見えます。依存関係を追加するのと同じくらい簡単ですか?周りを見て、理解できないmultidexを追加することを提案しました。感謝します!
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'
}
}
}
追加 compile 'com.Android.support:support-v4:26.1.0'
to build.gradle appモジュールのファイル。
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システムライブラリに予約されています。
クラスを作成する
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>
私はそれを新しいバージョンに置き換えました:androidx.core.content.FileProvider
これは私のために働いた。