精华内容
下载资源
问答
  • OTA升级

    2020-09-24 16:50:28
    OTA升级 前言 本文介绍ota升级的流程 烧录初始固件 在components\joylink_adapter\example\joylink_extern.h文件,确保初始固件号为0 #define JLP_VERSION 0 烧录固件 chip erase 可以清除芯片的数据文件,清除后,...

    OTA升级

    前言

    本文介绍ota升级的流程

    烧录初始固件

    在components\joylink_adapter\example\joylink_extern.h文件,确保初始固件号为0

    #define JLP_VERSION  0
    

    烧录固件
    chip erase 可以清除芯片的数据文件,清除后,softAP联网需要重新连接了
    在这里插入图片描述

    ap配网

    运行芯片,扫描二维码配网

    在这里插入图片描述

    编译新版固件

    在components\joylink_adapter\example\joylink_extern.h文件,修改固件号,最小是1起步,具体与自增的云端固件ID保存一致

    #define JLP_VERSION  5
    

    添加固件

    在这里插入图片描述
    此处确保固件ID和(刚刚编译的)要添加的固件的ID一致
    在这里插入图片描述

    手机检查更新升级固件

    先确认设备是否在线

    在这里插入图片描述

    点击我的-检查更新

    在这里插入图片描述

    立即更新

    在这里插入图片描述

    开始升级

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    以下是执行joylink_extern_ota.c终端的log

    [DEBUG][114093][joylink_extern_ota.c][joylink_ota_get_data][595]
    download_len 680496
    [INFO][114147][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 1
    [INFO][114196][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 2
    [INFO][114211][joylink_dev_server.c][joylink_proc_server][1076]
    Server org ctrl type:8:
    [INFO][114214][joylink_dev_server.c][joylink_proc_server_ota_upload][874]
    OTA UPLOAD ACK code 0 msg success
    
    [INFO][114234][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 3
    [INFO][114294][joylink_dev_server.c][joylink_proc_server][1076]
    Server org ctrl type:12:
    [INFO][114294][joylink_dev_server.c][joylink_proc_server_upload][657]
    UPLOAD OK timestamp 1600936970 code 0
    
    [INFO][114302][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 4
    [INFO][114348][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 5
    [INFO][114402][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 6
    [INFO][114461][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 7
    [INFO][114508][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 8
    [INFO][114557][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 9
    [INFO][114603][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 10
    [INFO][114632][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 11
    [INFO][114672][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 12
    [INFO][114711][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 13
    [INFO][114751][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 14
    [INFO][114800][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 15
    [INFO][114840][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 16
    [INFO][114889][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 17
    [INFO][114935][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 18
    [INFO][114982][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 19
    [INFO][115023][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 20
    [INFO][115069][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 21
    [INFO][115109][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 22
    [INFO][115161][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 23
    [INFO][115204][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 24
    [INFO][115265][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 25
    [INFO][115319][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 26
    [INFO][115357][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 27
    [INFO][115398][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 28
    [INFO][115442][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 29
    [INFO][115476][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 30
    [INFO][115521][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 31
    [INFO][115565][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 32
    [INFO][115616][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 33
    [INFO][115663][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 34
    [INFO][115709][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 35
    [INFO][115752][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 36
    [INFO][115806][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 37
    [INFO][115856][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 38
    [INFO][115916][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 39
    [INFO][115953][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 40
    [INFO][115994][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 41
    [INFO][116033][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 42
    [INFO][116084][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 43
    [INFO][116141][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 44
    [INFO][116191][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 45
    [INFO][116239][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 46
    [INFO][116290][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 47
    [INFO][116333][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 48
    [INFO][116370][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 49
    [INFO][116427][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 50
    [INFO][116462][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 51
    [INFO][116513][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 52
    [INFO][116560][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 53
    [INFO][116605][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 54
    [INFO][116641][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 55
    [INFO][116687][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 56
    [INFO][116735][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 57
    [INFO][116779][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 58
    [INFO][116825][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 59
    [INFO][116879][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 60
    [INFO][116935][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 61
    [INFO][116971][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 62
    [INFO][117019][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 63
    [INFO][117052][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 64
    [INFO][117090][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 65
    [INFO][117128][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 66
    [INFO][117392][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 67
    [INFO][117434][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 68
    [INFO][117485][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 69
    [INFO][117526][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 70
    [INFO][117567][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 71
    [INFO][117613][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 72
    [INFO][117653][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 73
    [INFO][117688][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 74
    [INFO][117770][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 75
    [INFO][117861][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 76
    [INFO][117908][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 77
    [INFO][117969][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 78
    [INFO][118022][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 79
    [INFO][118093][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 80
    [INFO][118127][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 81
    [INFO][118159][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 82
    [INFO][118197][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 83
    [INFO][118230][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 84
    [INFO][118266][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 85
    [INFO][118306][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 86
    [INFO][118354][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 87
    [INFO][118399][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 88
    [INFO][118435][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 89
    [INFO][118465][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 90
    [INFO][118498][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 91
    [INFO][118540][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 92
    [INFO][118568][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 93
    [INFO][118599][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 94
    [INFO][118629][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 95
    [INFO][118694][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 96
    [INFO][118762][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 97
    [INFO][118800][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 98
    [INFO][118891][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 99
    [INFO][118996][joylink_extern_ota.c][joylink_ota_get_data][690]
    OTA download percent: 100
    [INFO][118996][joylink_extern_ota.c][joylink_ota_get_data][703]
    OTA last_time: 114030, OTA_TIME_OUT: 300000
    [INFO][118997][joylink_extern_ota.c][joylink_ota_report_status][771]
    status: 0, version: 5
    
    [DEBUG][118998][joylink_packets.c][joylink_package_ota_upload_req][339]
    new ota upload rsp data:{"cmd":"otastat","data":{"feedid":"942841600767705238","                                                                                                                               productuuid":"FBE25E","status":0,"status_desc":"ota download","progress":100}}
    [INFO][119000][joylink_dev_server.c][joylink_server_ota_status_upload_req][803]
    send to server len:160:ret:160
    
    [INFO][119001][joylink_extern_ota.c][joylink_ota_get_data][719]
    [OTA] Check CRC OK
    
    [OTA] Update partition, partition len is 679984
    [INFO][119039][joylink_extern_ota.c][joylink_ota_report_status][771]
    status: 2, version: 5
    
    [DEBUG][119040][joylink_packets.c][joylink_package_ota_upload_req][339]
    new ota upload rsp data:{"cmd":"otastat","data":{"feedid":"942841600767705238","                                                                                                                               productuuid":"FBE25E","status":2,"status_desc":"ota is ok","progress":100}}
    [INFO][119041][joylink_dev_server.c][joylink_server_ota_status_upload_req][803]
    send to server len:160:ret:160
    
    [INFO][119042][joylink_extern_ota.c][joylink_ota_task][826]
    Joylink ota is ok!
    
    [WARN][119043][joylink_extern_ota.c][joylink_ota_task][827]
    Rebooting
    
    
    展开全文
  • OTA 升级

    2019-11-21 16:32:51
    1. 执行 make clean 2. 执行 make dist 或者 make dist -j4 3.

    1. 执行 make clean

    2. 执行 make dist 或者 make dist -j4

    3.

    展开全文
  • ESP8266 OTA升级

    2018-03-16 19:53:56
    ESP8266 OTA升级 ESP8266 OTA升级 ESP8266 OTA升级 ESP8266 OTA升级
  • 原标题:飞凌RK3399平台Android版本升级的...本文档主要介绍OTA相关方向的介绍,通过本文档可快速了解RK3399平台android镜像版本升级的两种方式OTA 本地升级、OTA远程升级以及OTA升级包编译过程。飞凌RK3399开发板...

    原标题:飞凌RK3399平台Android版本升级的OTA 本地升级、OTA远程升级

    本文硬件平台以飞凌嵌入式OK3399-C开发板为基础进行讲解,其它RK3399产品,由于各个厂家设置不同会有所差异,请参考使用。本文档主要介绍OTA相关方向的介绍,通过本文档可快速了解RK3399平台android镜像版本升级的两种方式OTA 本地升级、OTA远程升级以及OTA升级包编译过程。

    飞凌RK3399开发板 OTA测试

    OTA (over the air)升级是Android 系统提供的标准软件升级方式。它功能强大,提供了完全升级(完整包)、增量升级模式(差异包),可以通过本地升级,也可以通过网络升级。

    注意:OTA镜像的打包方式和rk update.img的打包方式有所差异,没有单独的kernel分区,内核设备树存在于boot.img中,因此如果使用OTA升级时,需要保证当前系统中的镜像也是按照OTA方式打包的。

    一、OTA 升级包编译

    本节我们将编译三个版本的android镜像,V1.0.0版本、V1.0.1版本、V1.0.2版本,其中V1.0.0版本为基础版本用于烧写到飞凌RK3399开发板上,V.1.0.0升级到V1.0.1采用完全升级的方式测试完全升级功能,V1.0.1升级到V1.0.2采用增量升级模式测试增量升级功能。

    查看device/rockchip/rk3399/BoardConfig.mk

    确认当前版本号为1.0.0,同时将ro.product.ota.host修改为用于OTA升级服务器的Linux主机地址,8888为端口号(服务器搭建参考后续章节)。

    1、 编译V1.0.0版本镜像

    lunch rk3399_all-userdebug

    rm out/target/product/rk3399_all/system/build.prop

    make -j4

    ./mkimage.sh ota

    将rockdev/Image-rk3399_all目录的镜像备份

    mkdir images_v1.0.0

    cp rockdev/Image-rk3399_all/* images_v1.0.0

    以单独烧写的方式,将镜像烧写到飞凌RK3399开发板上,注意不要烧写kernel.img。

    2、编译V1.0.1版本完全升级包

    修改device/rockchip/rk3399/BoardConfig.mk

    将当前的版本号修改为:1.0.1

    lunch rk3399_all-userdebug

    rm out/target/product/rk3399_all/system/build.prop

    make -j4

    ./mkimage.sh ota

    make otapackage -j4

    mv out/target/product/rk3399_all/rk3399_all-ota-eng.root.zip 1.0.1.zip

    mv out/target/product/rk3399_all/obj/PACKAGING/target_files_intermediates/rk3399_all-target_files-eng.root.zip target_1.0.1.zip

    其中1.0.1.zip是用于测试的完全升级包,target_1.0.1.zip是用于制作V1.0.2版本增量升级包的基础素材。

    3、编译V1.0.2版本增量升级包

    修改device/rockchip/rk3399/BoardConfig.mk

    将当前的版本号修改为:1.0.2

    lunch rk3399_all-userdebug

    rm out/target/product/rk3399_all/system/build.prop

    make -j4

    ./mkimage.sh ota

    make otapackage -j4

    mv out/target/product/rk3399_all/obj/PACKAGING/target_files_intermediates/rk3399_all-target_files-eng.root.zip target_1.0.2.zip

    使用target_1.0.1.zip和target_1.0.2.zip制作V1.0.2版本增量升级包。

    ./build/tools/releasetools/ota_from_target_files -v --block \

    -i target_1.0.1.zip \

    -p out/host/linux-x86 \

    -k build/target/product/security/testkey \

    target_1.0.2.zip \

    1.0.2.zip

    经过前面几小节的编译,我们得到最终得到了以下文件:

    images_v1.0.0目录的基础镜像:v1.0.0版本的镜像,用于烧写到飞凌RK3399开发板上。

    1.0.1.zip:v1.0.1版本的完全升级包。

    1.0.2.zip:v1.0.2版本的增量升级包。

    二、OTA 本地升级

    启动RK3399开发板并输入:

    getprop ro.product.version 确认版本号是否为1.0.0。

    将1.0.1.zip 拷贝到TF卡根目录(如果之前做成了烧写TF卡请先还原为普通TF卡),并重新命名为update.zip。启动开发板,插入TF卡。系统将自动检测到升级文件的存在弹出升级确认菜单,点击Install。将自动进入升级模式,升级完成之前请勿插拔TF卡。

    升级完成后将自动重新启动,提示升级成功,询问是否需要删除升级文件避免再次升级。

    同时可以在飞凌RK3399开发板上输入getprop ro.product.version 确认版本号是否为1.0.1。

    下面,将1.0.2.zip拷贝到TF卡根目录,并重命名为update.zip,由于是增量升级可以看到update.zip只有几十MB,当然这根修改的代码多少有关。将TF卡插入开发板,与前面完全升级的步骤一样。

    系统将自动检测到升级文件的存在弹出升级确认菜单,点击Install。将自动进入升级模式,升级完成之前请勿插拔TF卡。

    升级完成后将自动重新启动,提示升级成功,询问是否需要删除升级文件避免再次升级。

    同时可以在飞凌 RK3399 开发板上输入getprop ro.product.version 确认版本号是否为1.0.2。

    三、OTA 远程升级

    1、搭建OTA升级服务器

    打开飞凌提供的RK3399用户资料,将资料工具目录中的apache-tomcat-7.0.29.zip拷贝到Linux主机/home/forlinx目录。

    注意:如果您的主机没有jdk环境,请参考上篇建立Android应用开发环境编译章节安装jdk环境。

    unzip apache-tomcat-7.0.29.zip

    chmod 775 -R apache-tomcat-7.0.29

    cd apache-tomcat-7.0.29/webapps/OtaUpdater/WEB-INF

    cat manifast.xml

    其中,product name需要与device/rockchip/rk3399/BoardConfig.mk中定义的PRODUCT_MODEL一致。

    version name 选项对应升级前版本,package_path选项对应该版本的升级包路径。

    将1.0.1.zip和1.0.2.zip拷贝到对应的目录:

    修改端口号:apache-tomcat-7.0.29/conf/server.xml

    启动服务:

    cd apache-tomcat-7.0.29/bin

    ./startup.sh

    2、测试OTA远程升级

    首先将之前备份在images_v1.0.0镜像烧写到开发板上。getprop ro.product.version 确认版本号是否为1.0.0。

    正常情况下系统启动完毕几秒钟后将提示升级,如果没有提示请:

    getprop ro.product.ota.host 确认OTA升级服务器参数是否正确。

    同时确认网络是否连通。

    点击Yes将自动进入升级流程。由于是完全升级,因此需要稍微等待一会。

    点击Yes删除本地升级包。同时查看当前版本:getprop ro.product.version 正常情况下已经升级到1.0.1版本。

    重启系统,由于我们当前版本已经升级到了1.0.1版本,系统将检测到最新的1.0.2版本,提示升级。

    由于是增量升级,升级包非常小,升级速度也比较快。

    点击Yes删除本地升级包。同时查看当前版本:getprop ro.product.version 正常情况下已经升级到1.0.2版本。返回搜狐,查看更多

    责任编辑:

    展开全文
  • 本文介绍的是Android系统OTA升级,主要介绍升级包的制作和Android代码中如何实现系统的升级。文章中的升级功能是在Firefly-RK3399板子在Android7.1.2上完成测试,其中下文中的增量升级未测试成功,文章中把该种方式...

    本文介绍的是Android系统OTA升级,主要介绍升级包的制作和Android代码中如何实现系统的升级。文章中的升级功能是在Firefly-RK3399板子在Android7.1.2上完成测试,其中下文中的增量升级未测试成功,文章中把该种方式记录下来用于方便以后再来研究。

    目录

    全量包

    增量包

    Android代码调用升级

    1. 全量包

    命令

    . build/envsetup.sh

    lunch //然后选择你需要的配置(如15)

    make -j8

    make otapackage -j8

    执行完上面的命令会在out/target/product/rk3399_firfly_box/rk3399_firefly_box-ota-en.jb.zip的zip压缩包。其中/rk3399_firfly_box/并非是固定的文件,这个文件夹大多是以自己板子的型号和厂商命名rk3399_firefly_box-ota-en.jb.zip也是更具自己厂商和设备型号命名,把该压缩包命名成update.zip也就完成了全量升级包的制作。

    2. 增量包

    Android增量的制作需要上一个旧的源码包和新的的源码包,其时我们通过制作全量包的命令就已经制作了源码包只是他们的所在的目录不同,

    源码包路径

    out/target/product/rk3399_firefly_box/obj/PACKAGING/target_files_intermediates/rk3399_firefly_box-target_files-eng.jb.zip

    全量包路径

    out/target/product/rk3399_firefly_box/rk3399_firefly_box-ota-eng.jb.zip

    通过上面的两个路径我们可以知道,源码包和全量包生成的命名是相同的,只不过他们的存放路径不相同。其实他们的大小也不相同源码包要比全量包大(我测试中源码包为1.2G,全量包为567M),系统升级一般是用全量包和增量包升级。

    制作增量包

    制作增量包我们首先要准备一个最新版本的源码包和上一个版本的源码包如old.Zip和new.zip。然后我们在根目录创建创建一个OTA/文件夹,分别为将olde.zip和new.zip复制到该文件夹中,然后执行下面命令

    ./build/tools/releasetools/ota_from_target_files -i ~/OTA/old.zip ~/OTA/new.zip ~/OTA/update.zip

    上面的命令

    ./build/tools/releasetools/ota_from_target_files为谷歌为我们提供的一个用于生产增量包的脚本。

    -i 后面分别为旧版本源码包和新版本源码包的文件路径,做好一个是生产的增量包路径。

    执行上面的命令我们就会在根目录下的OTA文件夹下生产了一个update.zip增量包

    3. Android代码调用升级

    如果您正好使用的是Firefly开发板供应商提供的板子,下面的这种方式可以不用看了。Firefly团队提供了一套方便开发者快速实现部分功能的api,该api中正好有系统升级功能的实现方法。请移步FireflyApi查看 安装升级

    完成上面全量升级包或增量升级包都会得到update.zip升级包。我们就可进行系统升级了,一般系统升级分为在线升级和离线升级。

    在线升级需要将我们生产的全量包或者增量包放到服务器上,根据自己业务将其下载下来行升级。

    离线升级需要我们将升级包从U盘中拷贝到Android系统中进行升级。

    不管是在线升级还是离线升级我们都需要将升级包拷贝到Android外部储存的根目录中才能升级

    本文用的是离线升级,是将升级包拷贝到Android外部储存的根目录中的,文章末尾的参考连接中有关于网络下载升级的介绍。

    权限

    android:sharedUserId="android.uid.system" //系签名要添加的标识

    ...>

    因为上面两个权限需要将应用做出系统及app才可以使用,因此需要系统签名。文章的末尾的参考连接中有关于系统签名的实现方式。

    获取升级包

    /**

    * 获取升级包

    *

    * @return 升级包file

    */

    public File getUdapteFile() {

    File updateFile = null;

    if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {

    String updatePath = Environment.getExternalStorageDirectory().getAbsolutePath()

    + File.separator + "update.zip";

    updateFile = new File(updatePath);

    boolean isExists = updateFile.exists();

    LogHelper.getInstance().d("是否存在升级包:"+isExists);

    if (isExists) {

    return updateFile;

    }

    }

    return updateFile;

    }

    校验和升级

    /**

    * 系统升级

    */

    public void systemUpdate() {

    File udapterFile = getUdapteFile();

    try {

    //签名校验

    RecoverySystem.verifyPackage(udapterFile, new RecoverySystem.ProgressListener() {

    @Override

    public void onProgress(int progress) {

    LogHelper.getInstance().d("签名校验进度:" + progress);

    }

    }, null);

    //升级

    RecoverySystem.installPackage(this, udapterFile);

    } catch (GeneralSecurityException e) {

    e.printStackTrace();

    } catch (IOException e) {

    e.printStackTrace();

    }

    }

    上面的RecoverySystem.verifyPackage()方法用于校验升级包的签名是否合法,我们在做升级名的时候make otapackage命令执行完已经为我们签好了名,因此不需要在签名了。

    效果图

    参考

    展开全文
  • Android OTA升级

    2020-09-29 23:15:38
    Android OTA升级
  • OTA升级和Bin包升级-附件资源
  • DA14580 OTA升级

    2018-04-08 15:41:22
    DA14580 OTA升级的烧录方法 另附SDK5.0.4 其中有一个文件为OTA历程
  • 智能网联汽车的OTA升级方案,详细讲解了云端,终端,要实现OTA升级需要实现的技术,想了解OTA升级的朋友,看此文就可以待大家基本了解OTA升级了。
  • Android系统OTA升级

    千次阅读 2021-02-02 16:54:39
    它功能强大,可以无损失升级系统,主要通过网络[例如WIFI、3G]自动下载OTA升级包、自动升级,但是也支持通过下载OTA升级包到SD卡升级 。 OTA全包 优势:使用全包的优势在于无需对应版本号,可以直接从任何之前的版本...
  • Android OTA升级流程

    2016-01-21 14:28:51
    Android OTA升级流程,获取版本信息,下载完后MD5校验,OTA检测。
  • OTA升级失败排查

    万次阅读 2017-03-14 14:19:21
    OTA升级失败排查 摘要 Recovery OTA升级流程图 1 应用层升级流程 2 Recovery升级流程 OTA升级失败排查手段 1 方式一读取cache日志文件 2 方式二Recovery模式下使用串口实时输出升级日志 3 方式三利用RK工具dump ...
  • 请问OTA 升级主要升级更新那些内容? 那些分区? 求仔细详细点?
  • C语言实现ota升级代码

    2019-05-28 18:33:46
    C语言,嵌入式系统ota升级源码,可以适应于linux及其他轻量级os使用。
  • rockchip ota升级服务源码,可支持update.img,update.zip整包或差分包识别和升级接口,供参考
  • ota升级教程

    2013-01-25 13:57:13
    索爱ST18i如何解决ota升级教程,以及甜椒一键刷机工具下载
  • 嵌入式OTA升级实现原理

    千次阅读 2020-09-06 10:42:54
    目录 一、简介 1.1 概念 1.2 优点 1.3 实现原理 二、MCU OTA升级 ...三、Linux OTA升级 ...OTA升级:通过OTA方式实现固件或软件的升级。...只要是通过无线通信方式实现升级的,都可以叫OTA升级,比如网...
  • OTA升级总结

    千次阅读 2016-03-01 17:35:44
    android OTA升级

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,408
精华内容 963
关键字:

ota升级