返回

react-native "unexpected element <queries> found in <manifest>" 错误终极解决方案

前端

当你在 react-native 项目中使用 react-native-image-crop-picker v0.35.0 时,可能会遇到一个错误:

unexpected element <queries> found in <manifest>

同时,客户端也会出现另一个错误:

open failed: ENOENT (No such file or directory)

这些错误可能会让你抓狂,但别担心,本指南将为你提供终极解决方案,帮助你轻松解决这些问题。

  1. 检查 AndroidManifest.xml 文件

首先,你需要检查你的 AndroidManifest.xml 文件。确保你已经正确地添加了以下代码:

<queries>
    <intent>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:mimeType="image/*" />
    </intent>
</queries>

将上述代码添加到你的 AndroidManifest.xml 文件中,并确保它位于<application>标签的内部。

  1. 更新 react-native-image-crop-picker 版本

尝试将 react-native-image-crop-picker 版本更新到最新版本。你可以通过以下命令来更新:

npm install react-native-image-crop-picker@latest
  1. 添加依赖项

你还需要确保在你的项目中添加了以下依赖项:

react-native-fs
react-native-image-picker

你可以通过以下命令来安装这些依赖项:

npm install react-native-fs react-native-image-picker
  1. 添加权限

你需要在你的 AndroidManifest.xml 文件中添加以下权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  1. 清除缓存并重新构建

最后,你需要清除缓存并重新构建你的项目。你可以通过以下命令来清除缓存:

react-native clean

然后,你可以通过以下命令来重新构建你的项目:

react-native run-android

现在,你应该能够解决 "unexpected element <queries> found in <manifest>" 错误和 "open failed: ENOENT (No such file or directory)" 错误了。如果你仍然遇到问题,请查看 react-native-image-crop-picker 的文档或在 GitHub 上提交问题。