web-dev-qa-db-ja.com

未解決のクラス 'FileProvider'

Androidデバイスと次の このチュートリアル )で写真を撮ろうとしています。

以下のコードは、Android.support.v4.content.FileProvider。 Android studioは未解決のクラス 'FileProvider'と言います)。

次のAndroidManifest.xmlファイルがあります。

<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools"
package="com.example.camera">

<uses-permission Android:name="Android.permission.CAMERA" />

<application
    Android:label="@string/app_name">

    <activity Android:name=".LandingPageActivity" />

    <provider
        Android:name="Android.support.v4.content.FileProvider"
        Android:authorities="${applicationId}.provider"
        Android:exported="false"
        Android:grantUriPermissions="true">
        <meta-data
            Android:name="Android.support.FILE_PROVIDER_PATHS"
            Android:resource="@xml/provider_paths" />
    </provider>

</application>

</manifest>

私が追加しました implementation 'com.Android.support:support-v4:28.0.0' わたしの build.gradleファイル。

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.example.camera"
        minSdkVersion 15
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.1.0-alpha02'
    ...others
    implementation 'com.Android.support:support-v4:28.0.0'
}

apply plugin: 'com.google.gms.google-services'

私は この解決策 を試しましたが、運がありませんでした。

10
Devin Norman

AndroidXの依存関係(androidx.appcompat依存関係など)を使用しているため、パッケージ名がandroidx.core.content.FileProviderである AndroidX FileProvider を使用する必要があります。

<provider
    Android:name="androidx.core.content.FileProvider"
    Android:authorities="${applicationId}.provider"
    Android:exported="false"
    Android:grantUriPermissions="true">
    <meta-data
        Android:name="Android.support.FILE_PROVIDER_PATHS"
        Android:resource="@xml/provider_paths" />
</provider>
34
ianhanniballake
<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/provider_paths" />

</provider>
1
shivambhanvadia