Android Manifest 未检测到 xml 文件

Rea*_*inn 3 xml android xamarin.forms

我正在使用 Xamarin.Forms 开发应用程序。我正在使用Xam.Plugin.Media访问我的手机摄像头。正如文档中所述,我应该在资源文件中创建新文件夹,然后在 AndroidManifest 文件中添加文件提供程序配置。由于某种原因,我收到错误:

处理清单失败。找不到资源 xml/file_paths(又名 com.companyname.client:xml/file_paths)。此错误可能是由源代码文件中的 AndroidManifest.xml 或 Android 清单生成属性引起的。

我花了一些时间试图找到问题,但没有运气。我的清单如下所示:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.companyname.client" android:installLocation="auto">
    <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="30" />
    <application android:label="Client.Android" android:theme="@style/MainTheme" android:icon="@mipmap/icon"></application>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

  <application android:label="client">

    <provider android:name="android.support.v4.content.FileProvider" android:authorities="com.companyname.client.fileprovider"
    android:exported="false" android:grantUriPermissions="true">
      <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths"></meta-data>
    </provider>
  </application>
</manifest>
Run Code Online (Sandbox Code Playgroud)

该文件是:

<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
  <external-files-path name="my_images" path="Pictures" />
  <external-files-path name="my_movies" path="Movies" />
</paths>
Run Code Online (Sandbox Code Playgroud)

正如我在解决方案资源管理器中看到的,文件路径确实是 Client.Android/Resources/xml/file_paths.xml

Wen*_*SFT 6

您需要更改 file_paths.xml 文件的 BuildAction。

改变:

AndroidResourceAnalysisConfig 
Run Code Online (Sandbox Code Playgroud)

到:

 AndroidResource
Run Code Online (Sandbox Code Playgroud)