当前位置: 首页 > news >正文

Flutter 应用在真机上调试的流程

在真机上调试 Flutter 应用的方法

调试 Flutter 应用有多种方式,可以使用 USB 数据线连接设备到电脑进行调试,也可以通过无线方式进行真机调试。对于 iOS 开发者,使用 appuploader 这样的工具可以更高效地管理开发流程。

1. 有线调试

设备准备

  1. 启用开发者模式

    • Android:进入 设置 > 关于手机,连续点击 版本号 直到出现 “你已成为开发者”。然后在 开发者选项 中启用 USB 调试
    • iOS:连接设备到电脑,信任电脑。使用 appuploader 可以快速完成设备注册和证书管理。
  2. 连接设备

    • 使用 USB 数据线连接设备到电脑。

配置系统

  1. 对于 Android

    • 确保 Android 设备在设备列表中显示。可以通过运行 flutter devices 来检查。
    • 如果设备没有显示,检查 USB 驱动程序是否已安装。
  2. 对于 iOS

    • 使用 Xcode 打开项目,确保设备被识别。
    • 可能需要设置开发者账号并信任设备。appuploader 可以简化这一流程,自动处理证书和描述文件。

启动调试

  1. 运行应用

    • 在终端中导航到你的 Flutter 项目目录。
    • 运行 flutter run,Flutter 会自动检测连接的设备并在其上运行应用。
  2. 使用 IDE

    • 在 Android Studio 或 Visual Studio Code 中打开 Flutter 项目。
    • 选择目标设备(连接的真机),然后点击运行按钮。

调试应用

  • 热重载:在调试过程中,可以使用 r 键进行热重载,快速查看代码更改。
  • 日志查看:在终端中查看应用的实时日志输出,帮助诊断问题。
  • 断点调试:使用 IDE 设置断点,查看变量和应用状态。

常见问题

  • 设备未识别:检查 USB 连接和驱动程序。
  • 权限问题:尤其在 iOS 上,确保 Xcode 项目设置正确,包括签名和权限。使用 appuploader 可以避免很多常见的证书问题。

2. 无线调试

无线调试分为两种情况:设备和电脑在同一网络下,以及设备和电脑不在同一网络下。

2.1 设备和电脑在同一网络下

前提条件
  1. 设备和电脑需要在同一网络下。
  2. 已通过 USB 连接设备进行过一次调试。
步骤
Android
  1. 启用无线调试

    • 确保设备和电脑在同一 Wi-Fi 网络中。
    • 通过 USB 连接设备并运行 adb tcpip 5555
    • 断开 USB 连接。
    • 获取设备的 IP 地址(可在设备的 Wi-Fi 设置中查看)。
    • 在终端中运行 adb connect <设备IP地址>
  2. 调试应用

    • 使用 flutter devices 确认设备连接。
    • 运行 flutter run 启动应用。
iOS
  1. 准备工作

    • 确保设备与 Xcode 配对。
    • 在 Xcode 中启用无线调试(Window > Devices and Simulators)。
  2. 无线连接

    • 使用 USB 连接设备并在 Xcode 中勾选 Connect via network
    • 断开 USB 连接。
  3. 调试应用

    • 在终端中使用 flutter devices 确认设备连接。
    • 运行 flutter run 启动应用。
注意事项
  • 网络质量:无线调试对网络要求较高,确保 Wi-Fi 连接稳定。
  • 电池消耗:无线调试可能会增加设备的电池消耗。
  • 防火墙设置:确保防火墙没有阻止相关端口。

2.2 设备和电脑不在同一网络下

Android
  1. 生成 APK 文件

    • 配置签名密钥(可选):如果您要发布应用,请先在 android/app 目录下创建 key.properties 文件,并配置签名密钥。开发环境不需要此步骤。
    • 运行打包命令:flutter build apk --release,该命令会生成一个适合发布的 .apk 文件,位于 build/app/outputs/flutter-apk/app-release.apk
    • 调试模式打包:如果只是测试,也可以运行 flutter build apk --debug 生成调试版 APK。
    • 通过电子邮件、云存储(如 Google Drive)等方式发送 APK 文件给测试人员。
    • 接收方需要在设备上启用"未知来源应用"安装权限。
  2. 使用 Google Play 内测通道

    • 在 Google Play 开发者控制台中创建内测版。
    • 将测试链接分享给测试人员,他们可以通过 Play Store 安装。
iOS

需要在 macOS 系统中完成此步骤,因为 iOS 编译依赖 Xcode。

  1. 生成 IPA 文件

    • 配置 iOS 开发环境:打开 ios/Runner.xcworkspace 文件,确保 Xcode 已正确配置开发者证书和相关设置。使用 appuploader 可以自动完成这些配置。
    • 运行打包命令:在项目根目录下运行命令 flutter build ipa --release,生成的 .ipa 文件会存放在 build/ios/ipa 目录下。
    • 调试模式打包:您也可以使用 flutter build ipa --debug 生成调试版的 .ipa 文件。
  2. TestFlight

    • 在 App Store Connect 中设置 TestFlight 测试。
    • 添加测试人员的 Apple ID,邀请他们参加测试。
    • 测试人员会通过 TestFlight 应用安装和测试。
其他工具
  • Firebase App Distribution
    • 适用于 Android 和 iOS,可以轻松分发测试版应用。
    • 上传应用到 Firebase,邀请测试人员下载和安装。
  • appuploader
    • 提供一站式解决方案,从证书管理到应用上传,简化整个开发流程。
    • 特别适合需要频繁测试和迭代的开发团队。

相关文章:

  • HOW - 前端 sdk 实践(一)
  • 如何写好合同管理系统需求分析
  • 软考教材重点内容 信息安全工程师 第22章 网站安全需求分析与安全保护工程
  • 【C++算法】60.哈希表_字母异位词分组
  • PG中通过GIST创建其他自定义索引
  • 深度学习入门:神经网络的学习
  • 入门51单片机(1)-----点灯大师梦开始的地方
  • 网络安全与信息安全的区别​及共通
  • CEPH OSD_SLOW_PING_TIME_FRONT/BACK 警告处理
  • MuJoCo(Multi-Joint Dynamics with Contact)机器人仿真器存在的问题
  • rook-ceph 慢盘导致的 OSD_SLOW_PING_TIME_[BACK/FRONT] 告警分析
  • Elasticvue-轻量级Elasticsearch可视化管理工具
  • 25软考新版系统分析师怎么备考?重点考哪些?(附新版备考资源)
  • G1 垃圾回收机制
  • Formality:Bug记录
  • 空格键会提交表单吗?HTML与JavaScript中的行为解析
  • Serverless MCP 运行时业界首发,函数计算让 AI 应用最后一公里提速
  • 神经网络如何表示数据
  • 每天五分钟深度学习PyTorch:RNN CELL模型原理以及搭建
  • 视频设备轨迹回放平台EasyCVR打造水库大坝智慧安防视频监控智能分析方案
  • 解密62个“千亿县”:强者恒强,新兴产业助新晋县崛起
  • 宋徽宗《芙蓉锦鸡图》亮相,故宫首展历代动物绘画
  • 解放日报头版聚焦“人民城市”:共建共享展新卷
  • 人民日报读者点题:规范涉企执法,怎样防止问题反弹、提振企业信心?
  • 敲定!今年将制定金融法、金融稳定法
  • 女儿被偷拍后,一个父亲的战斗