uni-app 打包安卓包提示打包失败

uni-app 打包安卓包提示打包失败

示例代码:

Appid: **UNI**D656780  
Error code = -5000  
Error message:  
Error permissions: parse data as xml failed in manifest.json(android permissions)  
["","","","","","","","","","","","","","","",""]

## 操作步骤:

自有证书打包

预期结果:

打包成功

## 实际结果:

打包失败

bug描述:

打包失败失败,提示在manifest中将数据解析为xml失败。json (android权限)  
失败日志:  
Appid: **UNI**D656780  
Error code = -5000  
Error message:  
Error permissions: parse data as xml failed in manifest.json(android permissions)  
["","","","","","","","","","","","","","","",""]

![Image](https://www.itying.com/uniimg.php?url=https://img-cdn-tc.dcloud.net.cn/uploads/questions/20210901/a419c908a2f8571c902cac40e50ab23f.png)
![Image](https://www.itying.com/uniimg.php?url=https://img-cdn-tc.dcloud.net.cn/uploads/questions/20210901/6b10c0200d15ec44b60520c0a9f47293.png)
![Image](https://www.itying.com/uniimg.php?url=https://img-cdn-tc.dcloud.net.cn/uploads/questions/20210901/311944dfe65d8152c1b75e226293dedf.png)

| 信息类别         | 详细信息   |
|------------------|------------|
| 产品分类         | uniapp/App |
| PC开发环境操作系统 | Windows    |
| PC开发环境操作系统版本号 | win7       |
| HBuilderX类型     | 正式       |
| HBuilderX版本号   | 3.1.22     |
| 手机系统         | Android    |
| 手机系统版本号    | Android 8.0|
| 手机厂商         | 其他       |
| 手机机型         | 其他       |
| 页面类型         | vue        |
| 打包方式         | 云端       |
| 项目创建方式      | HBuilderX   |

更多关于uni-app 打包安卓包提示打包失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

自定义配置的permissions数据格式错误

更多关于uni-app 打包安卓包提示打包失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html


根据错误信息,问题出在 manifest.json 文件的 Android 权限配置部分。错误提示 parse data as xml failed in manifest.json(android permissions) 表明云端打包服务在解析你项目中 manifest.json 文件的 permissions 节点时,无法将其转换为 Android 应用清单文件(AndroidManifest.xml)所需的格式。

具体来说,错误信息中 ["","","","","","","","","","","","","","","",""] 这个数组表明 permissions 节点下可能包含大量空字符串或格式不正确的权限项,导致解析失败。

解决方案如下:

  1. 检查并修正 manifest.json 文件:

    • 打开项目根目录下的 manifest.json 文件。
    • 找到 "app-plus" -> "distribute" -> "android" -> "permissions" 这个路径。
    • 检查 "permissions" 字段的值。它应该是一个字符串数组,每个字符串都是一个标准的 Android 权限名称(例如 "android.permission.CAMERA")。
    • 关键点: 确保数组中没有空字符串 "",也没有任何格式错误、多余的空格或换行符。每个权限名称必须完整且正确。
    • 如果 "permissions" 字段不存在或你不需要特殊权限,可以尝试将其暂时删除或设置为一个空数组 [] 进行测试。
  2. 常见错误位置:

    • 如果你是通过 HBuilderX 的可视化界面(“App 常用其它设置” -> “Android 设置” -> “权限配置”)添加的权限,请检查该界面中是否误添加了空项或错误项。
    • 如果你是通过源码视图直接编辑 manifest.json,请仔细核对 JSON 语法,特别是数组 [] 和字符串 "" 的配对是否正确,以及是否有多余的逗号。
  3. 操作步骤:

    • 备份你的 manifest.json 文件。
    • 修正 permissions 数组,移除所有空字符串和不必要的条目。
    • 保存文件。
    • 重新提交云端打包。

修正示例: 错误的配置可能类似于:

"permissions": [
    "android.permission.INTERNET",
    "",
    "android.permission.CAMERA",
    ""
]

应修正为:

"permissions": [
    "android.permission.INTERNET",
    "android.permission.CAMERA"
]
回到顶部