uni-app安卓打包后出现小程序代码

uni-app安卓打包后出现小程序代码

uni-app在vue生命周期函数onLaunch里判断已经存在用户信息则uni.switchTab跳转到tab页,打包成安卓之后控制台里报i.setStyle is not a function; at wx.switchTab,这种错误不是小程序的错误吗,wx对象怎么会出现在安卓里

App.vue

export default {
    onLaunch: function() {
        try{
            let lacUser = uni.getStorageSync('lacUser') || '';  
            if (lacUser) {  
                uni.switchTab({  
                    url: '/pages/index/index'  
                });  
            }  
            console.log('App Launch')  
        }catch(e){  
        }  
    },  
    onShow: function() {  
        console.log('App Show')  
    },  
    onHide: function() {  
        console.log('App Hide')  
    }  
}

15:42:34.400 [编译] Compiling… 15:42:35.978 [完成] uni-app 编译完毕 15:42:35.989 项目 ‘testlac’ 编译成功. 15:42:35.999 正在同步手机端程序文件… 15:42:36.249 同步手机端程序文件完成 15:42:36.271 正在重启… 15:42:41.578 appServiceSDKScriptError 15:42:41.598 42:39.469 3356 3356 I console : i.setStyle is not a function; at wx.switchTab 15:42:41.626 42:39.469 3356 3356 I console : TypeError: i.setStyle is not a function 15:42:41.874 App Launch at App.vue:13 15:42:41.894 App Show at App.vue:20


更多关于uni-app安卓打包后出现小程序代码的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

onLaunch里调用路由API,注意不要太早,避免和自动跳转pages里第一个页面冲突

更多关于uni-app安卓打包后出现小程序代码的实战教程也可以访问 https://www.itying.com/category-93-b0.html


现在已经解决了,谢谢

这个问题的原因是uni-app在编译时可能残留了小程序平台的代码,导致在安卓端调用了小程序的wx对象。uni.switchTab在H5和App平台实际是调用原生导航,但在你的报错中出现了wx.switchTab,说明编译过程存在问题。

建议解决方案:

  1. 清理项目并重新编译:
  • 删除unpackage、node_modules目录
  • 运行npm install重新安装依赖
  • 重新打包
  1. 检查manifest.json配置: 确保已正确配置App模块,特别是导航相关设置。

  2. 使用条件编译:

// #ifdef APP-PLUS
uni.navigateTo({
    url: '/pages/index/index'
})
// #endif
// #ifdef MP-WEIXIN
uni.switchTab({
    url: '/pages/index/index'
})
// #endif
回到顶部