You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS2019 Xamarin Android构建报错:<uses-permission>元素位置非法

修复Xamarin Android项目中AndroidManifest.xml的位置错误

这个错误的根源很明确——Android清单文件的结构不符合官方规范:<uses-permission>权限声明必须作为<manifest>根节点的直接子元素,绝对不能放在<application>标签内部,而你的构建过程生成的清单文件里刚好犯了这个错误。

下面是具体的修复步骤,按顺序来就行:

  • 第一步:修改原始的AndroidManifest.xml文件
    不要去改obj/Debug/90/android/manifest下自动生成的那个清单(那是构建时合并出来的临时文件,改了也会被覆盖),找到项目Properties文件夹里的原始AndroidManifest.xml,打开后检查权限标签的位置:
    正确的结构应该是这样的:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.your.app.package">
        <!-- 权限声明必须放在这里,<application>标签之外 -->
        <uses-permission android:name="android.permission.CAMERA" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    
        <application android:label="DeepSound" android:icon="@mipmap/ic_launcher" ...>
            <!-- 这里放你的Activity、Service等应用组件 -->
        </application>
    </manifest>
    

    如果你的原始文件里把<uses-permission>写到了<application>里面,直接剪切粘贴到<application>标签的外面即可。

  • 第二步:通过Visual Studio的可视化配置管理权限(更稳妥)
    为了避免手动编辑XML出错,你可以右键项目→选择「属性」→切换到「Android Manifest」标签页,在「Required Permissions」列表里勾选CAMERA和WRITE_EXTERNAL_STORAGE,Visual Studio会自动在正确的位置生成权限声明,比手动改XML更不容易出错。

  • 第三步:清理并重新构建项目
    手动删除项目根目录下的bin和obj文件夹(这两个是构建缓存,里面的旧清单会干扰新构建),然后点击Visual Studio菜单里的「项目→清理解决方案」,之后再重新构建项目,此时生成的清单文件就会符合规范了。

  • 如果是第三方库导致的权限位置错误
    有时候某些NuGet包的清单配置有问题,会把权限错误地注入到<application>内部。这种情况下,你可以在原始清单里添加tools:node="remove"来移除错误的权限声明,再重新正确声明:
    首先在<manifest>标签里添加tools命名空间:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
              xmlns:tools="http://schemas.android.com/tools"
              package="com.your.app.package">
    

    然后在<application>标签里移除错误的权限:

    <application ...>
        <uses-permission android:name="android.permission.CAMERA" tools:node="remove" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:node="remove" />
    </application>
    

    最后在<manifest>根节点下重新正确声明这两个权限即可。

内容的提问来源于stack exchange,提问作者WingsOfAltair

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:51:36