首页 > 其他分享 >【RK3588】Android系统OTA升级详细流程(三)

【RK3588】Android系统OTA升级详细流程(三)

时间:2024-06-24 12:29:52浏览次数:27  
标签:升级包 RK3588 版本号 OTA 29 如下 升级 Android

接着上一篇文章,做一下OTA包远程升级测试。

1.搭建OTA升级服务器

Ubuntu系统下搭建OTA服务器。我们将使用Tomcat来搭建web服务器,Tomcat是一个免费、开源的轻量级web应用服务器。

1.1 安装JDK

Tomcat依赖于Java运行环境,所以需要先安装Java环境。可自行前往Java Archive | Oracle 中国此链接下载JDK安装包,以1.6版本为例:

下载完成后将其拷贝到Ubuntu系统用户家目录下,并执行如下命令进行安装:

chmod 777 jdk-6u45-linux-x64.bin

./jdk-6u45-linux-x64.bin

安装成功后,会在当前目录下生成一个名为jdk1.6.0_45的文件夹,如下图所示:

接着打开~/.profile文件配置环境变量,在文件末尾添加如下内容:

export JAVA_HOME=/home/alientek/jdk1.6.0_45

export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

其中JAVA_HOME表示jdk的安装目录,需将其修改为你自己的安装目录

添加完成后保存退出,并执行如下命令使其在当前终端生效:

source ~/.profile

执行如下命令查询Java版本,确认是否安装成功:

java -version

能查询到版本号,说明Java环境安装成功!

1.2 下载和安装Tomcat

可自行前往Apache Tomcat® - Welcome!此链接下载Tomcat,以7.0.29版本为例:

依次选择:tomcat-7 --> v7.0.29 --> bin,下载apache-tomcat-7.0.29.zip,这个压缩包是免安装的,解压目录即为安装目录:

下载完成后将其拷贝到Ubuntu系统用户家目录下,并执行如下命令进行解压:

unzip apache-tomcat-7.0.29.zip

chmod 775 -R apache-tomcat-7.0.29

解压完成后,会在当前目录下生成apache-tomcat-7.0.29文件夹,如下图所示:

进入apache-tomcat-7.0.29/目录,接下来需要对webapps/OtaUpdater/WEB-INF/目录下的manifast.xmlpackages进行配置:

打开manifast.xml文件,该文件中默认配置了几个产品,我们可以将其删除,然后添加我们自己的产品,譬如以正点原子的RK3588开发板--ATK-DLRK3588为例:

<?xml version="1.0" encoding="UTF-8"?>

<manifast>

       <product name="ATK-DLRK3588" full_package_path="null" rkimage_path="null">

              <version name="1.0.0" package_path="packages/ATK-DLRK3588/1.0.1.zip" />

              <version name="1.0.1" package_path="packages/ATK-DLRK3588/1.0.2.zip" />

       </product>

</manifast>

product name表示产品的名称,需要与产品配置文件中的PRODUCT_MODEL变量保持一致(也就是产品的型号名称),在Android SDK根目录下可以执行如下命令查询:

get_build_var PRODUCT_MODEL

一个产品下有多个版本通过version name标签来定义,version name为版本号(与固件编译时设置的版本号一一对应),package_path为该版本对应的升级包路径。

Android系统OTA升级详细流程(一)-->第2小节中保存的完整升级包update.zip和Android系统OTA升级详细流程(一)-->第3小节中制作的增量升级包rk3588_v1-v2.zip拷贝到webapps/OtaUpdater/WEB-INF/packages/ATK-DLRK3588/目录下(先在packages目录下创建ATK-DLRK3588目录),并分别重命名为1.0.1.zip1.0.2.zip,如下所示:

修改服务器监听端口号:打开conf/server.xml文件,找到如下内容:

将“2300”修改为您需要的端口号就可以了,譬如本文使用的端口号是8888:

最后执行如下命令启动OTA服务器:

./bin/startup.sh

2.OTA远程升级测试

开发板先烧录Android系统OTA升级详细流程(一)-->第1小节中编译得到的update.img固件,烧录完成后启动开发板进入Android系统,通过串口终端或adb执行如下命令查看当前系统版本号,如下图所示:

getprop ro.product.version

正常情况下,开发板启动进入Android系统后,大概十来秒钟后将会提示用户升级,并弹出升级确认对话框;如果没有出现升级提示,请自行确认OTA服务器参数配置是否正确、网络连接是否正常:

点击“”按钮将会进入系统升级模式,升级完成之前,请勿断开网络连接、开发板请勿断电(由于是完全升级,因此需要稍微等待一会):

 需要先从OTA服务器下载升级包到本地,然后再进行升级。

升级完成后将自动重启开发板,并提示用户系统升级成功!询问是否需要删除本地升级包以避免再次提示升级(建议删除):

同时执行如下命令查看当前系统版本号是否为1.0.1:

getprop ro.product.version

经过升级之后,当前系统版本号为1.0.1,系统将会检测到有1.0.2版本的升级包,便会再次弹出升级确认对话框提示用户是否需要升级;由于是增量升级,升级包非常小、升级速度也比较快:

同样需要将升级包下载到本地,然后再进行升级:

升级完成后将自动重启开发板,并提示用户系统升级成功!询问是否需要删除本地升级包以避免再次提示升级(建议删除):

同时执行如下命令查看当前系统版本号是否为1.0.2:

getprop ro.product.version

至此,OTA包远程升级测试完成!

标签:升级包,RK3588,版本号,OTA,29,如下,升级,Android
From: https://blog.csdn.net/weixin_40768997/article/details/139900169

相关文章

  • 适用于 Android 的 几种短信恢复应用程序
    Android设备上的短信丢失可能由于多种原因而丢失,例如意外删除、恢复出厂设置、系统崩溃或病毒攻击。是否有应用程序可以恢复Android上已删除的短信?幸运的是,有几款短信恢复应用程序可以扫描您的Android手机并从内存或SIM卡中检索已删除的短信。然而,并非所有短信恢复应用......
  • 测试Android-邮E行原生浏览器文件访问
    docx下载doc下载xls下载xlsx下载zip下载......
  • Android Studio开发Android TV
    目录AndroidStudio开发AndroidTV步骤1:准备工作步骤2:创建新项目步骤3:选择Activity模板步骤4:配置Activity步骤5:开发和测试步骤6:优化体验结论AndroidStudio开发AndroidTVAndroidTV是基于Android操作系统的电视平台,可以为用户提供丰富的娱乐和应用体验。它适用于......
  • Java语言常用注解(Annotation)收录
    Java语言常用注解(Annotation)收录注解(Annotation)是一种用于在代码中插入元数据的方式,以便为编译器、开发工具或运行时环境提供信息。自Java5引入以来,注解已成为Java平台不可或缺的一部分,用于各种场景,如编译时检查、框架集成、依赖注入等。下面收录了一些开发过程中常用......
  • 【RK3588】Android系统OTA升级详细流程(一)
    OTA(overtheair)升级是Android系统提供的标准软件升级方式。它功能强大,提供了完全升级(完整包)、增量升级模式(差异包),既可以通过本地升级,也可以通过网络升级。本文我们将编译三个版本的Android镜像,分别为V1.0.0版本、V1.0.1版本以及V1.0.2版本,其中V1.0.0版本作为基础版本直接烧录......
  • Android 事件分发机制详解(下)
    2.3View事件分发机制从上面ViewGroup事件分发机制知道,View事件分发机制从dispatchTouchEvent()开始源码分析/***源码分析:View.dispatchTouchEvent()*/publicbooleandispatchTouchEvent(MotionEventevent){if((mViewFlags&ENABLED_MASK)......
  • Android 14.0 Launcher3仿ios长按app图标实现拖拽抖动动画
    1.概述在14.0的系统rom定制化开发中,在对系统原生Launcher3的定制需求中,也有好多功能定制的,在ios等电子产品中的一些好用的功能,也是可以被拿来借用的,所以在最近的产品开发需求中,需求要求模仿ios的功能实现长按app图标实现抖动动画,接下来看如何分析该功能的实现.效果图如图:......
  • Android Studio 实现简单倒计时
    MainActivity代码:packagecom.example.time;importandroidx.appcompat.app.AppCompatActivity;importandroid.os.Bundle;importandroid.os.CountDownTimer;importandroid.widget.TextView;publicclassMainActivityextendsAppCompatActivity{privateTex......
  • Android无障碍自动化结合opencv实现支付宝能量自动收集
    Android无障碍服务可以操作元素,手势模拟,实现基本的控制。opencv可以进行图像识别。两者结合在一起即可实现支付宝能量自动收集。opencv用于识别能量,无障碍服务用于模拟手势,即点击能量。当然这两者结合不单单只能实现这些,还能做很多自动化的程序,如芭芭农场自动施肥、蚂蚁庄园等等......
  • 桌面时钟APP的简单开发(Android开发)
    开发目的想打造个性化的私人闹钟APP,放到桌面上提示时间,但是感觉应用商店中的相关软件不好用,有些有广告,就难受。而且没有办法DIY自己想要的时钟样式。所以,开搞!(初学者入门,慢慢摸索呗)开发环境1、windows操作系统2、Android Studio20243、JDK1.8(已配置的jdk环境,因为Andro......