主题
ADB 下载调试
FlyThings 可以通过 USB数据线或者网络快速下载程序到机器中。具体步骤如下:
首先根据设备的功能,正确选择设备的连接方式:
- 如果您购买的设备支持WIFI或者以太网功能,那么建议使用网络连接方式。
- 如果您购买的设备仅支持以太网版本建议使用网络连接方式。
- 如果您购买的设备不支持WIFI或者以太网,那么建议通过USB数据线连接方式。USB数据线连接成功时,在电脑上可以看到
使用USB数据线连接方式
如果电脑能将设备识别为Android设备,表示连接正常。如果不能正常连接,电脑提示驱动问题,可尝试下载更新驱动。
注意:A口(大口)USB由于没有ID脚,默认是U盘模式,可通过开发者选项调试开关切换。如果设备没有触摸,则需要代码设置一下,重启机器后才能生效:
c++
#include "storage/StoragePreferences.h"
StoragePreferences::putInt("sys_usb_mode_key", 1);
网络连接方式
如果选用WIFI,先进入设备的WIFI设置界面,将机器连接到与电脑相同的网络,也就是说,电脑和机器必须接入同一个WIFI。(如果网络不同,将无法连接)。
网络连接成功后,点击WIFI设置界面右上角菜单按钮查看设备的IP地址。如果选用以太网,先进入机器的以太网设置界面,点击界面右上角按钮查看设备的IP地址
得到设备的IP地址后,打开FlyThings IDE开发工具,在菜单栏上,依次选择菜单 调试配置 -> ADB配置, 将机器IP填入,选择确定。工具将尝试与机器连接,如果提示连接成功,则表示正常。如果提示失败,则需要检查IP是否正确?机器连接WIFI是否正常?
下载调试
完成上一步后,就可以直接下载程序了。在项目资源管理器中,选中项目名,右键,在弹出菜单中选择 下载调试 菜单, 选择后,它会先自动编译一次,编译成功后,再将程序下载到机器中,如果没有提示错误,那么你就可以看到机器程序已经得到了更新。
同样,在选中项目后,你还可以使用快捷键 Ctrl + Alt + R 下载调试。
通过ADB固化应用程序
可以通过ADB的方式将固件(通常是update.img文件)先下载到设备中,然后再升级固化,在这之前确保ADB已连接。具体命令如下:
c++
adb push ./update.img /tmp/update.img //将电脑中的update.img文件推送到设备中,注意路径的填写需要根据实际情况而定。
adb shell setprop sys.zkupgrade.flag 255 //置位升级标志
adb shell setprop sys.zkupgrade.dir /tmp //指定升级文件路径,/tmp需修改为实际使用时升级文件推送到的路径
adb shell setprop ctl.restart zkswe //重启应用程序,此时系统将会开始升级
根据上述可以通过 脚本或直接手动输入命令实现ADB升级。
WARNING
注意事项
- 如果电脑上连接有Android手机,可能会与机器造成冲突,导致下载失败。使用时,建议暂时断开Android手机连接。
通过该方式运行程序,并不能将程序固化到机器中,如果您拔掉TF卡或者断电重 启,程序将自动恢复。 如果您希望固化程序到 设备中,可以选择制作升级镜像,然后升级即可。
- 尽量插一张TF卡到机器中,确保不会因为可用内存过小,出现各种问题。
下载时,会将resources
文件夹及必要文件复制到机器中, 如果机器中不存在TF卡,则所有文件将保存到机器内存中,占用大量可用内存,程序运行时可能会现内存不足,从而导致各种问题。
如果机器中有TF卡,则所有文件将保存到TF卡里,不会占用机器内存。
在命令行下使用ADB
我们可以通过ADB命令,快速查看设备的状态、日志等。
首先任意选中一个项目,然后找到顶部的菜单栏,依次选择 调试配置 -> 打开系统命令行, 现在我们就可以在弹出的命令行中,输入想要执行的命令,再按回车健执行命令。
下面介绍一些常用的命令。
adb shell logcat -v time
特殊处理
- 如果下载时,始终提示错误
Read-only file system
,那么该设备应该是ext4文件系统,默认不可写。
这种情况下,有两种解决方案第一种方案,打开菜单
调试配置
->ADB配置
,将ADB下载目录
更改为/tmp
第二种方案,在下载之前,重新挂载分区为可读可写。
在项目管理器里,选择需要下载的项目名称,选择IDE顶部菜单栏,调试配置
->打开系统命令行
,在出现的命令行中,输入命令adb shell "mount -t ext4 -o rw,remount /dev/block/mmcblk0p1 /mnt/extsd"
如果没有任何提示,说明重新挂载成功,现在可以尝试下载,应该能下载成功。
如果设备断电重启,需要再次执行以上命令。