uni-app VIVO手机调试UTS插件首次安装自定义基座后VIVO手机弹出通知弹窗需手动启动自定义基座

发布于 1周前 作者 ionicwang 来自 Uni-App

uni-app VIVO手机调试UTS插件首次安装自定义基座后VIVO手机弹出通知弹窗需手动启动自定义基座

开发环境 版本号 项目创建方式
HbuilderX 4.32 HBuilderX
  • 产品分类:HbuilderX
  • PC开发环境操作系统:Windows
  • PC开发环境操作系统版本号:10
  • HBuilderX类型:Alpha
  • 手机系统:Android
  • 手机系统版本号:Android 13
  • 手机厂商:vivo
  • 手机机型:Y3S
  • 页面类型:vue
  • vue版本:vue3
  • 打包方式:云端

示例代码:

VIVO手机调试UTS插件首次安装自定义基座VIVO手机弹出通知弹窗后需要手动启动自定义基座

操作步骤:

VIVO手机调试UTS插件首次安装自定义基座VIVO手机弹出通知弹窗后自定义基座启动就中断了,需要手动启动自定义基座。

预期结果:

VIVO手机不手动启动自定义基座

实际结果:

VIVO希望正常启动自定义基座

bug描述:

VIVO手机调试UTS插件首次安装自定义基座VIVO手机弹出通知弹窗后需要手动启动自定义基座

1 回复

针对uni-app在VIVO手机上调试UTS插件首次安装自定义基座后需要手动启动自定义基座的问题,我们可以通过自动化脚本来尽量减少手动操作的步骤。以下是一个利用ADB(Android Debug Bridge)命令和Shell脚本的解决方案,旨在自动启动自定义基座应用。

前提条件

  1. 确保电脑上已安装ADB工具。
  2. 手机已开启开发者选项和USB调试。
  3. 已通过USB连接手机,并且ADB能识别到设备。

Shell脚本示例

以下是一个简单的Shell脚本示例,用于在首次安装自定义基座后尝试自动启动它。假设自定义基座应用的包名为com.example.custombase

#!/bin/bash

# 定义自定义基座应用的包名
PACKAGE_NAME="com.example.custombase"

# 检查设备是否连接
adb devices | grep -q "device$"
if [ $? -ne 0 ]; then
    echo "未检测到连接的设备,请检查USB调试和ADB连接。"
    exit 1
fi

# 检查应用是否已安装
installed=$(adb shell pm list packages | grep "$PACKAGE_NAME")
if [ -z "$installed" ]; then
    echo "自定义基座应用未安装,请先安装应用。"
    exit 1
fi

# 尝试启动应用
adb shell monkey -p $PACKAGE_NAME -c android.intent.category.LAUNCHER 1

# 可选:检查应用是否成功启动(可能需要更复杂的逻辑,这里仅作示例)
# 注意:直接通过ADB检查应用是否在前台可能不够可靠,特别是对于有多个Activity的应用。
# 这里简单演示如何检查应用进程是否存在。
pid=$(adb shell ps | grep "$PACKAGE_NAME" | awk '{print $2}')
if [ -z "$pid" ]; then
    echo "自定义基座应用启动失败,可能需要手动启动。"
else
    echo "自定义基座应用已成功启动,PID: $pid"
fi

使用说明

  1. 将上述脚本保存为start_custom_base.sh
  2. 给予脚本执行权限:chmod +x start_custom_base.sh
  3. 在命令行中运行脚本:./start_custom_base.sh

注意事项

  • 此脚本假设ADB已正确配置并可以访问连接的VIVO设备。
  • 由于Android系统的多样性和不同厂商的定制,自动启动应用的成功率可能有所不同。
  • 对于更复杂的应用启动逻辑(如处理多个Activity或特定启动条件),可能需要进一步定制脚本。

通过上述脚本,可以在一定程度上减少手动启动自定义基座的步骤,提高调试效率。

回到顶部