Toybrick
标题:
rk3399pro OTA在线升级问题
[打印本页]
作者:
weixc
时间:
2019-12-26 11:03
标题:
rk3399pro OTA在线升级问题
验证环境说明:
1、OTA服务器搭建在局域网 Ubuntu 18.04 物理机上
2、参考RK SDK Android4.0 OTA服务器搭建及产品OTA功能配置.pdf
manifast.xml 添加如下
<product name="rk3399pro" full_package_path="null" rkimage_path="null">
<version name="1.0.0" package_path="packages/rk3399pro/1.0.0/1.0.1.zip" />
<version name="1.0.1" package_path="packages/rk3399pro/1.0.1/1.0.2.zip" />
<version name="1.0.2" package_path="packages/rk3399pro/1.0.2/1.0.3.zip" />
</product>
4、服务端server.xml未做修改,保持默认
5、修改device/rockchip/rk3399pro/rk3399pro.mk
ro.product.version = 1.0.2
ro.product.ota.host = OTA服务器IP:2300
6、编译新版本OTA包按要求放入以上服务端指定路径(自己编译的OTA包已经过本地SD卡升级验证OK)
7、启动服务器OTA服务程序无报错,查看监听端口2300正常;
现在的问题是:
设备端RKUpdateService进行本地SD卡升级OK,但是在线升级无法成功验证。
做了一些分析如下:
1、设备端打开logcat -s RKUpdateService, 发现报错信息如下:
rk3399pro:/ # logcat -s RKUpdateService
--------- beginning of main
--------- beginning of system
12-25 14:03:03.610 1132 1132 D RKUpdateService: starting RKUpdateService, version is 1.8.0
12-25 14:03:03.613 1132 1132 D RKUpdateService: remote uri is
http://192.168.1.143:2300/OtaUpd ... =CN&language=zh
12-25 14:03:03.614 1132 1132 D RKUpdateService: remote uri backup is
http://192.168.1.143:2300/OtaUpd ... =CN&language=zh
12-25 14:03:03.618 1132 1132 D RKUpdateService: first startup!!!
12-25 14:03:03.628 1132 1132 D RKUpdateService: onStartCommand.......
12-25 14:03:03.628 1132 1132 D RKUpdateService: command = 1 delaytime = 20000
12-25 14:03:03.632 1132 1132 D RKUpdateService: onStartCommand.......
12-25 14:03:03.633 1132 1132 D RKUpdateService: command = 2 delaytime = 25000
12-25 14:03:23.616 1132 1264 D RKUpdateService: WorkHandler::handleMessage() : To perform 'COMMAND_CHECK_LOCAL_UPDATING'.
12-25 14:03:23.616 1132 1264 D RKUpdateService: getValidFirmwareImageFile() : Target image file path : /data/media/0/update.zip
12-25 14:03:23.617 1132 1264 D RKUpdateService: getValidFirmwareImageFile() : Target image file path : /storage/emulated/0/update.zip
12-25 14:03:30.748 1132 1264 D RKUpdateService: request remote server error...
12-25 14:03:37.800 1132 1264 D RKUpdateService: request remote server error...
12-25 14:04:38.464 1132 1132 D RKUpdateService: onStartCommand.......
12-25 14:04:38.464 1132 1132 D RKUpdateService: command = 1 delaytime = 5000
从log打印看是远程URL的有问题,因为RKUpdateService.apk源码不开放,不知道这个URL是不是对应第5点设定的ro.product.ota.host ?(我写的是172.xxx.xxx.xxx:2300)
2、设备升级新编译的固件,查看相关*.prop文件发现ro.product.version和ro.product.ota.host不是前面rk3399pro.mk修改的值,怀疑是该属性被其他地方覆盖了,但是又找不到是哪里覆盖~
我现在是想在公司本地有线局域网先做验证,确保整个升级流程是通的,再考虑外网服务器搭建事宜;
请问后续该如何处理,才能达到目的?
作者:
weixc
时间:
2019-12-26 20:18
修改源码根目录下 build/core/buildinfo.sh ,强制把ro.product.version和ro.product.ota.host 导出到最总的 build.prop可以暂时解决URL问题,并成功完成在线升级。
但是为何在源码根目录下 device/rockchip/rk3399pro/rk3399pro.mk的修改没有生效,仍不得而知。
长路漫漫,其修远兮
欢迎光临 Toybrick (https://t.rock-chips.com/)
Powered by Discuz! X3.3