e***@outlook.com
e***@outlook.com
  • 发布:2023-02-27 14:37
  • 更新:2023-04-03 16:47
  • 阅读:627

【报Bug】APP项目安卓端调用updateSplashscreen无效

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 版本13.1 (22C65)

HBuilderX类型: 正式

HBuilderX版本号: 3.7.3

手机系统: Android

手机系统版本号: Android 12

手机厂商: OPPO

手机机型: OPPO A95

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

新建了一个APP空项目,仅在App.vue中添加如下代码
onLaunch: function() {
console.log("启动图-调用下载");
uni.downloadFile({
url: 'https://img.zcool.cn/community/010ed35aec21c4a801207fa1e2e979.png@1280w_1l_2o_100sh.png',
success: (downloadResult) => {
console.log("启动图-下载成功1", downloadResult);
if (downloadResult.statusCode === 200) {
console.log("启动图-下载成功2", downloadResult.tempFilePath);
uni.saveFile({
tempFilePath: downloadResult.tempFilePath,
success: function (res) {
console.log("启动图-保存成功3", res.savedFilePath);
plus.navigator.updateSplashscreen({
image: res.savedFilePath,
});
console.log("启动图-调用成功4", res.savedFilePath);
},
fail: (err) => {
console.log("启动图-保存失败", err);
}
});
} else {
console.log("启动图-下载错误", downloadResult);
}
},
fail: (err) => {
console.log("启动图-下载失败", err);
}
});
console.log('App Launch')
},

操作步骤:

安卓云打包后
1,安卓端连续按两次返回键退出APP后再打开APP会使用的新下载的启动图(这种状态退出APP,后台进程并未杀掉)
2,通过杀掉进程的方式退出APP再打开APP没有使用新下载的启动图
3,本地基座编译运行按1,2的步骤操作没有此问题,都会正常使用新下载的启动图

预期结果:

应该要跟本地编译的基座一样不管是通过杀掉进程的方式退出APP再打开APP,还是安卓连续按两次返回键退出APP后再打开APP都应该要使用新的启动图

实际结果:

安卓云打包后
1,安卓端连续按两次返回键退出APP后再打开APP会使用的新下载的启动图(这种状态退出APP,后台进程并未杀掉)
2,通过杀掉进程的方式退出APP再打开APP没有使用新下载的启动图

bug描述:

app在android 端调用plus.navigator.updateSplashscreen后手动重启没有使用新下载的启动图,但是热更重启的状态启动会使用的新下载的启动图
进一步测试后发现:
安卓云打包后
1,安卓端仅连续按两次返回键退出APP后再打开APP会使用的新下载的启动图(这种状态退出APP,后台进程并未杀掉)
2,通过杀掉进程的方式退出APP再打开APP没有使用新下载的启动图
3,本地基座编译运行按1,2的步骤操作没有此问题,都会正常使用新下载的启动图,附测试录像如下

2023-02-27 14:37 负责人:DCloud_Android_YJC 分享
已邀请:
DCloud_Android_YJC

DCloud_Android_YJC

HBuilderX 3.7.12-alpha 已修复

DCloud_Android_ST

DCloud_Android_ST

云打包的appid发下

  • e***@outlook.com (作者)

    UNI3048721

    2023-03-09 20:21

  • 溅兔

    这个还存在如下问题:自定义基座真机调试可以更新成功,我看通过文件管理查看目录会新增一个splash文件夹并且更新的启动图会在里面,但是打正式包就无法更新启动图了目录下也没有这个splash这个文件夹

    2023-03-10 09:30

  • e***@outlook.com (作者)

    回复 溅兔: 但是有个奇怪的问题哦,正式包如果没有splash这个文件夹的话 那应该都不会生效,但是目前安卓端连续按两次返回键退出APP后再打开APP会使用的新下载的启动图(这种状态退出APP,后台进程并未杀掉)

    2023-03-10 10:39

  • DCloud_Android_ST

    回复 e***@outlook.com: 我没查到打包记录你重新云打包一个 不要安心打包

    2023-03-10 10:48

  • e***@outlook.com (作者)

    回复 DCloud_Android_ST: 我刚有重新云打包(传统打包) 用的公共测试证书 我下载安装后问题还是存在(bug描述中的1,2操作),下载地址:https://ide.dcloud.net.cn/build/download/a199fbe0-bf08-11ed-a6d7-513011a1f474

    2023-03-10 14:19

  • DCloud_Android_YJC

    回复 e***@outlook.com: 安装你提供的包,按照步骤操作没有复现,你那边有多个设备测试过吗?帮忙抓一份原生日志看看,adb logcat -v time > 日志文件全路径

    2023-03-10 17:43

溅兔

溅兔

这个还存在如下问题:自定义基座真机调试可以更新成功,我看通过文件管理查看目录会新增一个splash文件夹并且更新的启动图会在里面,但是打正式包就无法更新启动图了目录下也没有这个splash这个文件夹

e***@outlook.com

e***@outlook.com (作者)

@DCloud_Android_YJC
操作步骤
正常打开APP=>杀掉进程后再打开APP=>连续按两次安卓物理返回键退出APP后再打开APP

  • DCloud_Android_YJC

    按照操作步骤我这边是正常的,杀进程和返回键退出再启动都是有启动图的,你那边在其他设备上有复现吗?

    2023-03-13 11:37

  • DCloud_Android_YJC

    manifest.json->App常用其他设置->支持CPU类型->增加勾选arm64-v8a,再打个包试一下

    2023-03-13 11:39

  • e***@outlook.com (作者)

    回复 DCloud_Android_YJC: 我这边测试机型有OPPO A95、HUAWEI P40 Pro

    2023-03-13 11:49

  • e***@outlook.com (作者)

    回复 DCloud_Android_YJC: 刚刚有勾选后重新云打包,下载地址https://ide.dcloud.net.cn/build/download/675482b0-c152-11ed-ba86-8591295abfe1

    OPPO A95

    HUAWEI P40 Pro

    Redmi Note 9 pro

    Xiaomi 12T Pro

    vivo Y32t

    以上手机重复1,2操作还是出现相同问题,方便提供下你们测试的手机机型不,我看我们公司有没有同事使用

    2023-03-13 12:17

要回复问题请先登录注册