admin管理员组

文章数量:1130349

在 HBuilder 中使用 uni-app 开发 Android 应用后,打包发布到 第三方应用市场(如应用宝、360手机助手、小米应用商店等)需要经过多个关键步骤。以下内容将详细介绍:

  • ✅ 从项目配置到正式 APK 打包的全过程
  • ✅ 如何批量打包多个渠道(多市场)
  • ✅ 自动上传 APK 到各平台
  • ✅ 接入推送服务(如个推、极光、华为 HMS 推送等)
  • 🧾 最后通过表格总结操作流程与注意事项

🧩 一、环境准备

1. 安装并配置 HBuilderX

  • 下载地址:https://www.dcloud.io/hbuilderx
  • 安装完成后启用 5+ App 支持(用于原生功能)

2. 注册 DCloud 账号并登录

  • 登录 HBuilderX,确保可以使用云打包或本地打包功能

🛠️ 二、配置 manifest.json(基础信息设置)

{
  "plus": {
    "distribute": {
      "android": {
        "package": "com.example.myapp", // 包名(唯一)
        "version": "1.0.0",
        "name": "MyApp"
      }
    },
    "modules": {
      "Push": {}, // 启用推送模块
      "Downloader": {} // 用于下载更新
    }
  }
}

🔐 三、签名 APK 文件

方法一:使用 HBuilderX 自动生成签名

  1. 菜单栏点击:运行 -> 运行到手机(5+ App)
  2. 第一次会提示你生成签名证书 .keystore
  3. 填写以下信息:
    • 密钥别名(alias)
    • 密钥口令(password)
    • 有效期(建议选择25年以上)

方法二:手动签名(命令行方式)

# 使用 jarsigner 签名
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 \
-keystore your_keystore.keystore app-release-unsigned.apk your_alias_name

# 对齐优化
zipalign -v 4 app-release-unsigned.apk app-release-signed.apk

📦 四、打包正式版 APK

方式一:HBuilderX 本地打包

  1. 菜单栏点击:运行 -> 运行到手机(5+ App)
  2. 成功运行后,在项目目录下找到 unpackage/release/apk/ 目录下的 .apk 文件
  3. 这个文件已经是签名后的正式版本

方式二:CLI 工具打包(推荐自动化时使用)

参考官方文档集成 5+ App 打包 CLI


🎯 五、批量打包多个渠道(多市场)

实现方式:使用渠道变量 + 自定义打包脚本

1. 修改 manifest.json 添加渠道字段
{
  "plus": {
    "distribute": {
      "android": {
        "package": "com.example.myapp_$channel$",
        "version": "1.0.0",
        "name": "MyApp_$channel$"
      }
    }
  }
}
2. 编写自动打包脚本(Node.js 示例)
const fs = require('fs');
const { exec } = require('child_process');

// 渠道列表
const channels = ['yingyongbao', 'xiaomi', 'huawei', 'oppo', 'vivo'];

channels.forEach(channel => {
  const manifestPath = './manifest.json';
  let content = fs.readFileSync(manifestPath, 'utf8');

  // 替换占位符
  content = content.replace(/\$channel\$/g, channel);

  // 写回临时文件
  const tempManifest = `./manifest-${channel}.json`;
  fs.writeFileSync(tempManifest, content);

  // 执行打包命令(需先安装 cli 工具)
  exec(`lingma build --platform android --manifest ${tempManifest} --output ./dist/${channel}`, (err, stdout) => {
    if (err) {
      console.error(`打包失败: ${channel}`, err);
    } else {
      console.log(`打包完成: ${channel}`);
    }
  });
});

🚀 六、自动上传 APK 到各市场(可选)

实现方式:调用各平台 API 或使用第三方工具

示例:使用 Python + requests 上传到应用宝(需开通开发者权限)
import requests

url = 'https://openapi.qq/cgi-bin/appstore/upload'
headers = {
    'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
}
files = {
    'file': open('myapp-release-signed.apk', 'rb')
}

response = requests.post(url, headers=headers, files=files)
print(response.json())

注意:各大市场接口不同,需注册开发者账号并获取 API 权限。


🔔 七、接入推送服务(如个推、极光、华为 HMS)

以华为 HMS 推送为例:

1. 在华为开发者联盟申请 HMS 推送服务
  • 地址:https://developer.huawei/consumer/cn/console/
  • 获取 agconnect-services.json 配置文件并放入项目根目录
2. 在 manifest.json 中启用 Push 模块
{
  "plus": {
    "modules": {
      "Push": {}
    }
  }
}
3. 初始化推送服务(代码示例)
// pages/index/index.vue
export default {
  onReady() {
    this.initPush();
  },
  methods: {
    initPush() {
      if (uni.getSystemInfoSync().platform === 'android') {
        uni.subscribePush({
          provider: 'igexin',
          success: () => {
            console.log('订阅成功');
          }
        });

        uni.onPushMessage(res => {
          console.log('收到推送:', res);
          uni.showModal({
            title: '新消息',
            content: res.data.title + '\n' + res.data.content,
            showCancel: false
          });
        });
      }
    }
  }
};

🧾 八、总结表格

步骤内容
1配置 manifest.json,设置包名、版本和渠道变量
2使用 HBuilderX 或 CLI 生成签名证书
3打包签名 APK(本地或云打包)
4准备应用信息、截图、隐私协议等材料
5上传 APK 到各第三方应用市场后台(可自动化)
6等待审核并上线
7可选:添加设备检测、防重复安装逻辑
8注意隐私合规与热更新限制
9接入推送服务(如 HMS、个推)
10批量打包多个渠道,支持不同市场

✅ 附加建议

建议项说明
渠道管理使用 package-$channel$.apk 统一命名便于识别
自动化部署结合 Jenkins / GitHub Actions 实现 CI/CD
推送统一管理使用统一推送 SDK(如 DCloud 提供的 Push 插件)
多语言支持若面向海外市场,注意资源文件国际化
版本控制使用 Git 管理每次发布的 APK 和 manifest

如需进一步帮助,例如如何自动生成渠道包、对接具体市场的 API、或者实现一键上架等功能,也可以告诉我,我可以为你定制完整方案。

在 HBuilder 中使用 uni-app 开发 Android 应用后,打包发布到 第三方应用市场(如应用宝、360手机助手、小米应用商店等)需要经过多个关键步骤。以下内容将详细介绍:

  • ✅ 从项目配置到正式 APK 打包的全过程
  • ✅ 如何批量打包多个渠道(多市场)
  • ✅ 自动上传 APK 到各平台
  • ✅ 接入推送服务(如个推、极光、华为 HMS 推送等)
  • 🧾 最后通过表格总结操作流程与注意事项

🧩 一、环境准备

1. 安装并配置 HBuilderX

  • 下载地址:https://www.dcloud.io/hbuilderx
  • 安装完成后启用 5+ App 支持(用于原生功能)

2. 注册 DCloud 账号并登录

  • 登录 HBuilderX,确保可以使用云打包或本地打包功能

🛠️ 二、配置 manifest.json(基础信息设置)

{
  "plus": {
    "distribute": {
      "android": {
        "package": "com.example.myapp", // 包名(唯一)
        "version": "1.0.0",
        "name": "MyApp"
      }
    },
    "modules": {
      "Push": {}, // 启用推送模块
      "Downloader": {} // 用于下载更新
    }
  }
}

🔐 三、签名 APK 文件

方法一:使用 HBuilderX 自动生成签名

  1. 菜单栏点击:运行 -> 运行到手机(5+ App)
  2. 第一次会提示你生成签名证书 .keystore
  3. 填写以下信息:
    • 密钥别名(alias)
    • 密钥口令(password)
    • 有效期(建议选择25年以上)

方法二:手动签名(命令行方式)

# 使用 jarsigner 签名
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 \
-keystore your_keystore.keystore app-release-unsigned.apk your_alias_name

# 对齐优化
zipalign -v 4 app-release-unsigned.apk app-release-signed.apk

📦 四、打包正式版 APK

方式一:HBuilderX 本地打包

  1. 菜单栏点击:运行 -> 运行到手机(5+ App)
  2. 成功运行后,在项目目录下找到 unpackage/release/apk/ 目录下的 .apk 文件
  3. 这个文件已经是签名后的正式版本

方式二:CLI 工具打包(推荐自动化时使用)

参考官方文档集成 5+ App 打包 CLI


🎯 五、批量打包多个渠道(多市场)

实现方式:使用渠道变量 + 自定义打包脚本

1. 修改 manifest.json 添加渠道字段
{
  "plus": {
    "distribute": {
      "android": {
        "package": "com.example.myapp_$channel$",
        "version": "1.0.0",
        "name": "MyApp_$channel$"
      }
    }
  }
}
2. 编写自动打包脚本(Node.js 示例)
const fs = require('fs');
const { exec } = require('child_process');

// 渠道列表
const channels = ['yingyongbao', 'xiaomi', 'huawei', 'oppo', 'vivo'];

channels.forEach(channel => {
  const manifestPath = './manifest.json';
  let content = fs.readFileSync(manifestPath, 'utf8');

  // 替换占位符
  content = content.replace(/\$channel\$/g, channel);

  // 写回临时文件
  const tempManifest = `./manifest-${channel}.json`;
  fs.writeFileSync(tempManifest, content);

  // 执行打包命令(需先安装 cli 工具)
  exec(`lingma build --platform android --manifest ${tempManifest} --output ./dist/${channel}`, (err, stdout) => {
    if (err) {
      console.error(`打包失败: ${channel}`, err);
    } else {
      console.log(`打包完成: ${channel}`);
    }
  });
});

🚀 六、自动上传 APK 到各市场(可选)

实现方式:调用各平台 API 或使用第三方工具

示例:使用 Python + requests 上传到应用宝(需开通开发者权限)
import requests

url = 'https://openapi.qq/cgi-bin/appstore/upload'
headers = {
    'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
}
files = {
    'file': open('myapp-release-signed.apk', 'rb')
}

response = requests.post(url, headers=headers, files=files)
print(response.json())

注意:各大市场接口不同,需注册开发者账号并获取 API 权限。


🔔 七、接入推送服务(如个推、极光、华为 HMS)

以华为 HMS 推送为例:

1. 在华为开发者联盟申请 HMS 推送服务
  • 地址:https://developer.huawei/consumer/cn/console/
  • 获取 agconnect-services.json 配置文件并放入项目根目录
2. 在 manifest.json 中启用 Push 模块
{
  "plus": {
    "modules": {
      "Push": {}
    }
  }
}
3. 初始化推送服务(代码示例)
// pages/index/index.vue
export default {
  onReady() {
    this.initPush();
  },
  methods: {
    initPush() {
      if (uni.getSystemInfoSync().platform === 'android') {
        uni.subscribePush({
          provider: 'igexin',
          success: () => {
            console.log('订阅成功');
          }
        });

        uni.onPushMessage(res => {
          console.log('收到推送:', res);
          uni.showModal({
            title: '新消息',
            content: res.data.title + '\n' + res.data.content,
            showCancel: false
          });
        });
      }
    }
  }
};

🧾 八、总结表格

步骤内容
1配置 manifest.json,设置包名、版本和渠道变量
2使用 HBuilderX 或 CLI 生成签名证书
3打包签名 APK(本地或云打包)
4准备应用信息、截图、隐私协议等材料
5上传 APK 到各第三方应用市场后台(可自动化)
6等待审核并上线
7可选:添加设备检测、防重复安装逻辑
8注意隐私合规与热更新限制
9接入推送服务(如 HMS、个推)
10批量打包多个渠道,支持不同市场

✅ 附加建议

建议项说明
渠道管理使用 package-$channel$.apk 统一命名便于识别
自动化部署结合 Jenkins / GitHub Actions 实现 CI/CD
推送统一管理使用统一推送 SDK(如 DCloud 提供的 Push 插件)
多语言支持若面向海外市场,注意资源文件国际化
版本控制使用 Git 管理每次发布的 APK 和 manifest

如需进一步帮助,例如如何自动生成渠道包、对接具体市场的 API、或者实现一键上架等功能,也可以告诉我,我可以为你定制完整方案。

本文标签: 多个小米第三方助手步骤