真机环境:华为mate30pro 鸿蒙os 4.x
uniapp本地调试运行到安卓无法打开,这个问题困扰我一年多了,今天算是彻底解决了,记录下。
历程:
卸载旧版app后,本地调试运行到安卓,安装成功后无法打开(打开按钮被置灰禁用),应用程序列表也找不到。
但发行后,把apk发到手机上能安装(后来发现能安装也是因为发行的时候手动提升了一个版本号)。
以前遇到这个问题的时候,搜索到的解决方案是:去应用市场-卸载管理中找到这个app,再次卸载就好了。
现在是去应用市场卸载也不好使了,找不到这个app。并且安装发行后的apk也不行了,手机提示:“已存在更高版本,无法安装”。去设置里找了一下,我手机本地压根找不到这个app啊。
它说已存在更高版本,于是想到有没有可能是没卸载干净,有残留?于是换个关键词,搜索“uniapp 安卓无法完全卸载”,就找到了使用adb命令强制卸载:
// 列出安装的第三方app
adb shell pm list package -3
例如:
// 卸载默认基座
adb uninstall io.dcloud.HBuilder
// 卸载自定义基座
adb uninstall 自己的包名
例如:adb uninstall com.quark.browser
注意不是adb uninstall package:com.quark.browser哦。
再次运行,完美解决。
总结:
我用的华为手机,不知道其他人有没有在其他机型上遇到过。如果没有,看来是uniapp没问题,华为手机也没问题,这俩加一起就有问题了。uniapp基座,不管是默认基座,还是自定义基座,直接在手机上卸载,卸载不干净。卸载后安装同一个版本的app,就会有这个问题,需要提升一个版本号。
不知道有没有原生app开发的大佬解释下这是什么道理。