升级HBuilderx导致打包的uni-app安卓APK个推通知消息自定义铃声无声音

升级HBuilderx导致打包的uni-app安卓APK个推通知消息自定义铃声无声音

操作步骤:

HBuilder X从4.45.2025010502升级到4.57.2025032507版本,新IDE打包的APK覆盖旧IDE打包的APK,会导致个推通知消息自定义铃声无声音

预期结果:

HBuilder X从4.45.2025010502升级到4.57.2025032507版本,新IDE打包的APK覆盖旧IDE打包的APK,会导致个推通知消息自定义铃声无声音

实际结果:

HBuilder X从4.45.2025010502升级到4.57.2025032507版本,新IDE打包的APK覆盖旧IDE打包的APK,会导致个推通知消息自定义铃声无声音

bug描述:

帮忙先看一下这个问题,安装体量太大,不好让删除再重新安装清空缓存
HBuilder X从4.45.2025010502升级到4.57.2025032507版本,新IDE打包的APK覆盖旧IDE打包的APK,会导致个推通知消息自定义铃声无声音

信息类别 信息内容
产品分类 uniapp/App
PC开发环境 Windows
PC开发环境版本 4.57.2025032507
HBuilderX类型 正式
HBuilderX版本 4.57
手机系统 Android
手机系统版本 Android 15
手机厂商 vivo
手机机型 x200
页面类型 vue
vue版本 vue3
打包方式 云端
项目创建方式 HBuilderX

更多关于升级HBuilderx导致打包的uni-app安卓APK个推通知消息自定义铃声无声音的实战教程也可以访问 https://www.itying.com/category-93-b0.html

10 回复

你apk解包看一下声音文件是否存在

更多关于升级HBuilderx导致打包的uni-app安卓APK个推通知消息自定义铃声无声音的实战教程也可以访问 https://www.itying.com/category-93-b0.html


覆盖安装就有问题,删除再安装就没问题,肯定不是铃声文件问题

回复 Lotos: 那也需要确认下声音文件是否还存在

回复 DCloud_Android_THB: 看了,明确存在

回复 DCloud_Android_THB: 打包声音这块的逻辑最近是不是调整过?

回复 DCloud_Android_THB: 这个问题什么时候能解决?

新版本因为资源id变动,自定铃声ID排序被打乱,看是否按下面这样调整下 https://blog.csdn.net/stven_king/article/details/118736228 附件更新前后的铃声对比

确实升级会导致资源id失效了,固定id的办法可行,但是这个需要设计一种模式允许开发者上传固定id文件,所以临时性的,考虑到你安装量大的情况,这边建议一个过渡方案,即:新版本创建新的渠道,使用新的渠道创建通知。

回复 DCloud_Android_THB: 目前这个方案可行,但是如果把HBuilder升级到4.57,资源ID顺序也对,但是全部没有铃声,导致HBuilder不敢升级

这个问题可能是由于HBuilderX 4.57版本对Android通知通道的默认行为做了调整导致的。建议检查以下几点:

  1. 确认manifest.json中已正确配置个推的sound参数:
"push": {
    "getui": {
        "sound": "/static/notification.mp3"
    }
}
  1. 检查Android 8+的通知通道配置,新版本可能更严格遵循通知通道设置。可以在App.vue中添加:
onLaunch() {
    plus.android.importClass('android.media.AudioAttributes');
    const attributes = new plus.android.newObject('android.media.AudioAttributes');
    attributes.setUsage(plus.android.invoke('android.media.AudioAttributes', 'USAGE_NOTIFICATION'));
    // 设置通知通道声音
}
  1. 确保音频文件路径正确且已包含在打包资源中。

  2. 尝试在个推初始化时显式设置声音:

const push = uni.requireNativePlugin('getui-push');
push.setNotificationSound("/static/notification.mp3");
回到顶部