uni-app 真机调试问题:mac电脑真机调试运行uni-app项目,没过一分钟就中止了运行

uni-app 真机调试问题:mac电脑真机调试运行uni-app项目,没过一分钟就中止了运行

项目创建方式 PC开发环境操作系统 PC开发环境操作系统版本号 手机系统 手机系统版本号 手机厂商 手机机型 HBuilderX类型 HBuilderX版本号 页面类型 vue版本 打包方式
HBuilderX Mac Apple M2;MacOS 14.5 (23F79) Android Android 13 OPPO OnePlus 8 正式 4.36 vue vue3 云端
产品分类:uniapp/App

手机相关配置:
- 操作系统:Android
- 厂商:OPPO
- 机型:OnePlus 8
- 系统版本号:Android 13

开发环境:
- 操作系统:Mac
- 操作系统版本号:Apple M2;MacOS 14.5 (23F79)
- 开发工具:HBuilderX
- 工具版本号:4.36
- 页面类型:vue
- vue版本:vue3
- 打包方式:云端

示例代码:
```javascript
<template>  
    <view class="content">  
        <image class="logo" src="/static/logo.png"></image>  
        <view class="text-area">  
            <text class="title">{{title}}</text>  
        </view>  
        <button @click="chooseimg">选择图片1</button>  
    </view>  
</template>  

<script>  
    export default {  
        data() {  
            return {  
                title: 'Hello00001128'  
            }  
        },  
        onLoad() {  

        },  
        methods: {  
            chooseimg() {  
                uni.chooseImage({  
                    count: 6, //默认9  
                    sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有  
                    sourceType: ['album'], //从相册选择  
                    success: function (res) {  
                        console.log(JSON.stringify(res.tempFilePaths));  
                    }  
                });  
            },  
        }  
    }  
</script>  

<style>  
</style>  

操作步骤: 同bug描述

预期结果: 正常刷新更改的内容,并且正常运行,而不是老是退出

实际结果: 1、调试基座已退出,正在尝试重启基座。如手机上HBuilder调试基座未启动,请手动启动

17:44:38.248 项目 'testRun' 编译成功。  
17:44:38.253 正在同步手机端程序文件...  
17:44:39.625 调试基座已退出,正在尝试重启基座。如手机上HBuilder调试基座未启动,请手动启动  
17:44:46.714 开始差量编译...  
17:44:46.758 项目 'testRun' 编译成功。  
17:44:46.766 正在同步手机端程序文件...  
17:44:48.141 调试基座已退出,正在尝试重启基座。如手机上HBuilder调试基座未启动,请手动启动

更多关于uni-app 真机调试问题:mac电脑真机调试运行uni-app项目,没过一分钟就中止了运行的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

把以下代码注释掉试试,不能这样调。
uni.chooseImage({ count: 6, //默认9 sizeType: [‘original’, ‘compressed’], //可以指定是原图还是压缩图,默认二者都有 sourceType: [‘album’], //从相册选择 success: function (res) { console.log(JSON.stringify(res.tempFilePaths)); } });

更多关于uni-app 真机调试问题:mac电脑真机调试运行uni-app项目,没过一分钟就中止了运行的实战教程也可以访问 https://www.itying.com/category-93-b0.html


不是我昨天没改到,不是在onLoad里调用的,是通过点击按钮之后才调用的。一样的情况

重启几次都不行,但是昨晚出现了断电之后,今天发现未改动代码的情况下,不会出现昨天的问题了,今天也更换了原装的数据线。

可能是工具链有问题。

针对你提到的uni-app在Mac电脑上进行真机调试时,项目运行不到一分钟就自动中止的问题,这通常可能与多种因素有关,包括但不限于内存管理、设备连接稳定性、项目代码中的异常处理、uni-app及依赖库的版本兼容性等。以下是一些排查和解决问题的代码案例及步骤,你可以参考这些内容进行排查:

  1. 检查设备连接稳定性: 确保你的iOS或Android设备与Mac电脑连接稳定。可以通过命令行工具(如adb对于Android设备)检查设备连接状态。

    # 对于Android设备
    adb devices
    
  2. 查看控制台日志: 使用uni-app自带的开发者工具或Android Studio/Xcode查看应用运行时的控制台日志,寻找可能的错误信息或崩溃报告。

  3. 内存管理: 如果应用因内存不足而被系统终止,你可以考虑优化应用的内存使用。以下是一个简单的内存监控示例,使用JavaScript的performance.memory(注意:某些环境可能不支持)。

    if (performance && performance.memory) {
        console.log(`Used JS Heap Size: ${performance.memory.usedJSHeapSize}`);
        console.log(`Total JS Heap Size: ${performance.memory.totalJSHeapSize}`);
    } else {
        console.warn('Memory API not supported in this environment.');
    }
    
  4. 捕获异常: 在JavaScript代码中添加全局异常捕获,以便在应用崩溃前捕捉到错误信息。

    window.onerror = function(message, source, lineno, colno, error) {
        console.error(`Error: ${message} at ${source}:${lineno}:${colno}`, error);
        return true; // 阻止默认的错误处理
    };
    
    process.on('uncaughtException', (err) => {
        console.error('Uncaught Exception:', err);
        // 可以考虑记录日志或重启应用
    });
    
  5. 检查uni-app及依赖库版本: 确保你使用的uni-app框架及其依赖库是最新版本,有时候版本更新会修复已知的问题。

    # 更新uni-app CLI
    npm update -g [@dcloudio](/user/dcloudio)/uni-cli
    
    # 更新项目依赖
    npm update
    
  6. 简化项目代码: 尝试逐步注释或移除部分代码,特别是那些涉及复杂逻辑或大量数据处理的代码段,以确定是否是特定代码导致的问题。

通过上述步骤,你应该能够定位到导致应用中止运行的具体原因。如果问题依旧存在,建议详细记录问题现象和排查过程,并在uni-app社区或相关开发者论坛寻求更专业的帮助。

回到顶部