根据官方文档和搜索结果,`dcloud_control.xml` 是离线打包时最重要的配置文件之一。以下是**完整的代码模板**,包含你需要的调试属性:

📄 dcloud_control.xml 完整代码

xml
<?xml version="1.0" encoding="UTF-8"?>
<hbuilder>
    <apps>
        <app appid="__UNI__123456" appver="100"/>
    </apps>
    <config/>
</hbuilder>

 🔧 各节点说明

| 节点/属性 | 说明 | 必填 |
|-----------|------|------|
| `hbuilder` | 根节点 | 是 |
| `apps/app` | 应用配置节点 | 是 |
| `appid` | 你的 uni-app 应用 ID,必须与 `manifest.json` 中的 `appid` 完全一致  | 是 |
| `appver` | 应用版本号(整数值),建议与 `manifest.json` 中的 `version.code` 一致  | 是 |
| `debug` | 调试开关**,设置为 `"true"` 可开启调试模式,让 `console.log` 输出  | 调试时需要 |
| `syncDebug` | 热更新调试开*,配合 `debug="true"` 使用,支持自定义基座热更新  | 调试时需要 |

🎯 针对你的需求(打印JS日志)

要在离线打包的 APK 中打印 JS 日志,你需要在根节点上添加两个调试属性:

xml
<?xml version="1.0" encoding="UTF-8"?>
<hbuilder debug="true" syncDebug="true">
    <apps>
        <app appid="__UNI__123456" appver="100"/>
    </apps>
    <config/>
</hbuilder>

 ⚠️ 重要注意事项

1. **appid 必须三统一**:
   - `dcloud_control.xml` 中的 `appid`
   - `manifest.json` 中的 `id`
   - `assets/apps/` 下的文件夹名称
   
   这三者必须完全一致 。

2. **调试开关的作用**:
   - `debug="true"`:开启调试模式,允许输出 `console.log` 日志 
   - `syncDebug="true"`:支持自定义基座的热更新调试 

3. **正式包记得关闭**:
   发布到应用市场的正式包,建议将 `debug` 和 `syncDebug` 设置为 `false` 或直接删除这两个属性,避免日志泄露和性能损耗 。

4. **需要配套配置**:
   开启调试后,还需要将 SDK 中的 `debug-server-release.aar` 复制到项目的 `libs` 目录下,才能正常调试 。

 📁 文件存放位置

这个文件必须放在 Android 项目的 `assets/data/` 目录下 。

你的Android项目/
├── app/
│   ├── src/
│   │   ├── main/
│   │   │   ├── assets/
│   │   │   │   ├── data/
│   │   │   │   │   └── dcloud_control.xml    ← 放在这里
│   │   │   │   └── apps/                      ← 应用资源目录
│   │   │   │       └── __UNI__123456/         ← 文件夹名与appid一致
│   │   │   │           └── www/                ← 打包的H5资源
```

把上面的代码复制保存为 `dcloud_control.xml`,替换掉你项目中的同名文件,重新打包应该就能看到 `console.log` 的输出了。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐