精华内容
下载资源
问答
  • 安卓系统也在不断的升级更新,如今不少小伙伴还清楚安卓系统怎么升级8.0版本,今天UU就为大家带来了Android O正式版的更新教程,希望可以帮助大家。安卓系统怎么升级8.0版本:1:升级到8.0系统,可以通过...

    如今安卓系统的设备也越来越多了,智能手机也已经成为人们生活中必不可少的设备。而安卓系统也在不断的升级更新,如今不少小伙伴还不清楚安卓系统怎么升级8.0版本,今天UU就为大家带来了Android O正式版的更新教程,希望可以帮助大家。

    安卓系统怎么升级8.0版本:

    1:想要升级到8.0系统,可以通过常规的操作来实现,还是比较简单快捷的。

    4d4443de71654e7f66f92fcd990be657.png

    首先打开手机里面的:设置

    2:然后在设置里面找到“系统升级”功能,然后手机便会自动检测你的安卓设备目前的版本情况(如果中间你错过了几个版本的更新,也不用急,一个一个更新,这样也可以保证BUG的修复和新功能的适应)

    64fe807a0fea9cb00597ee5f1d4d3c54.png

    3:检测好版本系统之后点击“下载并安装”最新版本按钮,这个时候可要注意下载和安装是会消耗流量的,建议大家还是在WIFI情况下进行下面的操作。

    029015e14ac14d935af06623470988c4.png

    4:然后就等下载安装了,确认安装成功之后,安装信息台也不会让你原来的文件丢失,所以还是比较放心的。

    aa73c430bdba9a376408e1f39335a9e8.png

    5:有一点需要大家注意,如今大部分的手机都可以升级安装安卓8.0系统,但是还是有些手机不可以安装,大家可以网上咨询或在手机营业厅了解。

    6:还有就是在下载更新的时候,你要保证好手机空间是否够用,其次也建议大家将手机里面的重要数据进行备份,虽然不会丢失,但是也要以防万一啊。备份一下数据还有一个好处,这样也能清理手机内存和缓存,这样在更新之后手机的空间也会更加干净些。

    好啦,以上就是UU今天为大家带来的安卓系统怎么升级8.0,希望可以帮助大家完成升级,最后祝大家天天开心哦。

    展开全文
  • 原标题:为什么安卓系统升级到9.0了,而国内大部分都是Android7呢?谷歌此前正式发布了全新的安卓9.0系统,也就是大家所实习的AndroidP系统,但是可能你会发现,目前很多的国产手机依旧还是停留在Android7.0级别的...

    原标题:为什么安卓系统都升级到9.0了,而国内大部分都是Android7呢?

    谷歌此前正式发布了全新的安卓9.0系统,也就是大家所实习的AndroidP系统,但是可能你会发现,目前很多的国产手机依旧还是停留在Android7.0级别的系统,部分最新的比如说小米MIUI10也则是升级到了Android8.1。那么这到底是为什么呢?

    801ec25f6e69873d52765eb7c8676320.png

    抢先Android新系统的更新权,更多的是“PPT式”的挂名

    我们发现如今很多手机都喜欢在新机发布的时候宣布最先采用了全新的Android系统,但是后续却没有更多的实质性的升级与功能变化,绝大部分都是小打小闹,成为了“PPT式”的挂名更新。这其实对于手机品牌来说,无非就是一大噱头,并没有实质性的变化,比如说华为mate10抢先更新了Android8系统,到现在EMUI8系统也没有出现太大变化。因此,对于这样的升级版本,我们并不欢迎。

    47205dde8c83356b25a5b4f61d2355d6.png

    谷歌只给安卓底层代码,后续的优化工作还是需要国内厂商自己做

    需要明确的,其实谷歌给的安卓系统只是一个较为基本的底层代码,后续的优化工作还是需要根据自家的手机品牌来做,这样一来就延长了系统更新与实际应用的时间,因此很多的手机厂商选择在老系统上做升级,比如时候小米8也是基于Android8.1做出来的升级,而不是Android9。

    b0438550fa8b2d1e8782bc16d1280167.png

    国产手机厂商大多数是定制版,深度优化工作量大

    国内手机厂商在推送Android9.0系统更难的原因在于大部分都是采用定制版系统,比起国外大部分都是谷歌原生系统的改造工作量更大。比如说MIUI、Flyme、EMUI、 Smartisan OS等系统来说,想要完成定制化的系统深度优化,确实时间会更长。同时,在更新系统上,需要投入的财力物力人力也是十分的大。

    8d247f677bff9e58207c8a57384a6dc1.png

    谷歌开放系统更新,还需要看手机厂商的话语权

    谷歌此前一直都让自己的谷歌pixel手机优先更新,但是最近这几年也是逐渐的开放给了部分安卓手机厂商,换句话说,其实谷歌开放系统更新,还需要看手机厂商的话语权,不是想要更新最新的系统就能够有的。

    ca624b6d919293f6545ffb89a7470ce2.png

    在你们看来,为什么安卓系统都升级到9.0了,而国内大部分都是Android7呢?欢迎说说你的看法返回搜狐,查看更多

    责任编辑:

    展开全文
  • 深入理解 Android 系统升级

    万次阅读 2017-08-28 18:39:10
    前言2013年7月至2015年6月在长虹担任Android系统研发工程师,主要负责长虹智能电视升级(OTA升级),研发平台是MST 628 和 MTK 5327等。摘要随着Android系统的快速发展,越来越多的智能终端设备搭载Android平台。...

    前言

    2013年7月至2015年6月在长虹担任Android系统研发工程师,主要负责长虹智能电视升级(OTA升级),研发平台是MST 628 和 MTK 5327等。

    摘要

    随着Android系统的快速发展,越来越多的智能终端设备搭载Android平台。Android系统升级的可以优化智能电视系统性能、更新系统内容。因此,Android系统升级在Android系统开发领域极其重要。如何保证Android系统升级的安全性、可靠性与可操作性。本文详细介绍了Android系统升级包的制作、Recovery模式的工作原理,TV终端升级包的下载、升级包的具体升级过程等。

    一、 Android系统升级概述

    Android系统升级的本质是对system、perm、data分区下的文件进行升级,按照升级包的差异来分可以分为整包升级与查分升级。整包升级首先将分区格式化,然后将升级包中的文件拷贝进去。差分升级则只升级文件的差异部分。如图(1.1)所示,系统升级主要包括升级包的制作与发布、终端升级包的下载以及Recovery模式下的具体升级几个过程。本文分九个部分讲述Android系统的系统升级。

    第一部分是系统概述;
    第二部分讲述Recovery模式,包括如何进入Recovery模式,进入Recovery模式后的操作以及Recovery模式的通信接口;
    第三部分主要讲述升级包的制作;
    第四部分讲述TV终端升级包的获取及升级策略;
    第五部分讲述Android系统的三种启动模式;
    第六部分讲述Android系统的模式服务;
    第七部分讲述从reboot到Recovery;
    第八部分讲述 Recovery服务的核心install_package函数;
    第九部分讲述升级程序update_binary的执行过程。

    图1-1 图1-1

    二、Recovery模式

    2.1 Recovery模式中的三个部分
    Recovery的工作需要整个软件平台的配合,从通信架构上来看,主要有三个部分。
    1) MainSystem:即正常启动模式(BCB中无命令),是用boot.img启动的系统,Android的正常工作模式。更新时,在这种模式中我们的上层操作就是使用OTA或则从SD卡中升级升级包。在重启进入Recovery模式之前,会向BCB中写入命令,以便在重启后告诉bootloader进入Recovery模式。
    2) Recovery:系统进入Recovery模式后会装载Recovery分区,该分区包含recovery.img(同boot.img相同,包含了标准的内核和根文件系统)。进入该模式后主要是运行 Recovery服务(/sbin/recovery)来做相应的操作(重启、升级升级、擦除cache分区、擦除data分区等)。
    3) Bootloader:除了正常的加载启动系统之外,还会通过读取MISC分区(BCB)获得来至Main system和Recovery的消息。
    2.2 Recovery模式中的两个通信接口
    在Recovery服务中上述的三个实体之间的通信是必不可少的,他们相互之间又有以下
    两个通信接口。
    通过CACHE分区中的三个文件:
    1) Recovery通过/cache/recovery/目录下文件与Mainsystem进行通信,过程如下 :
    /cache/recovery/command:这个文件保存着Main system传给Recovery的命令行。 –update_package=root:path: Main system将这条命令写入时,代表系统需要升级,进入Recovery模式后,将该文件中的命令读取并写入BCB中,然后进行相应的更新升级包的操作。
    –wipe_data:擦除用户数据。擦除data分区时必须要擦除cache分区。
    –wipe_cache: 擦除cache分区。
    2)通过BCB(Bootloader Control Block):
    BCB是bootloader与Recovery的通信接口,也是Bootloader与Main system之间的通信接口。存储在flash中的MISC分区,占用三个page,其本身就是一个结构体,具体成员 以及各成员含义如下:
    struct bootloader_message{
    char command[32];
    char status[32];
    char recovery[1024];
    };
    command成员:即当我们想要在重启进入Recovery模式时,会更新这个成员的值。另外在成功更新后结束Recovery时,会清除这个成员的值,防止重启时再次进入Recovery模式。
    status:在完成相应的更新后,Bootloader会将执行结果写入到这个字段。
    recovery:可被Main System写入,也可被Recovery服务程序写入。该文件内容格式为:
    “recovery\n
    \n

    该文件存储的就是一个字符串,必须以recovery\n开头,否则这个字段的所有内容域会被忽略。“recovery\n”之后的部分,是/cache/recovery/command支持的命令。可以将其理解为Recovery操作过程中对命令操作的备份。Recovery对其操作的过程为:先读取BCB然后读取/cache/recovery/command,然后将二者重新写回BCB,这样在进入Main system之前,确保操作被执行。在操作之后进入Main system之前,Recovery又会清空BCB的command域和recovery域,这样确保重启后不再进入Recovery模式。
    2.3 从Main System重启并进入Recovery模式
    如图(2.1)所示为以上三个部分的通信过程

    图(2.1)这里写图片描述

    首先从Main System开始,在Main System使用升级包进行升级时,系统会重启并进入Recovery模式。在系统重启之前,Main System定会向BCB中的command域写入boot-recovery(粉红色线),用来告知Bootloader重启后进入recovery模式。这一步是必须的。至于Main System是否向recovery域写入值我们在源码中不能肯定这一点。即便如此,重启进入Recovery模式后Bootloader会从/cache/recovery/command中读取值并放入到BCB的recovery域。而Main System在重启之前肯定会向/cache/recovery/command中写入Recovery将要进行的操作命令。

    3、升级包的制作

    3.1 升级包的目录结构

    |—-boot.img
    |—-system/
    |—-recovery/
    |----recovery-from-boot.p
    |—-etc/
    |----install-recovery.sh
    |---META-INF/
    |CERT.RSA
    |CERT.SF
    |MANIFEST.MF
    |----com/
    |—-google/
    |----android/
    |—-update-binary
    |----updater-script
    |—-android/
    `|—-metadata

    以上是用命令make otapackage 制作的升级包的标准目录结构。

    1)boot.img是更新boot分区所需要的文件。这个boot.img主要包括kernel+ramdisk。
    2)system/目录的内容在升级后会放在系统的system分区。主要用来更新系统的一些应用或则应用会用到的一些库等等。
    3)recovery/目录中的recovery-from-boot.p是boot.img和recovery.img的补丁(patch),主要用来更新recovery分区,其中etc/目录下的install-recovery.sh是更新脚本。
    4)update-binary是一个二进制文件,相当于一个脚本解释器,能够识别updater-script描述的操作。
    5)updater-script:此文件是一个脚本文件,具体描述了更新过程。我们可以根据具体情况编写该脚本来适应我们的具体需求。
    6) metadata文件是描述设备信息及环境变量的元数据。主要包括一些编译选项,签名公钥,时间戳以及设备型号等。
    7)我们还可以在包中添加userdata目录,来更新系统中的用户数据部分。这部分内容更新后会存放在系统的/data目录下。
    8)升级包的签名:升级更新包在制作完成后需要对其签名,否则在升级时会出现认证失败的错误提示。而且签名要使用和目标板一致的加密公钥。加密公钥及加密需要的三个文件在Android源码编译后生成的具体路径为:
    out/host/linux-x86/framework/signapk.jar
    build/target/product/security/testkey.x509.pem
    build/target/product/security/testkey.pk8 。
    命令make otapackage制作生成的升级包是已签过名的,如果自己做升级包时必须手动对其签名。 以上命令在升级包所在的路径下执行,其中signapk.jar testkey.x509.pem以及testkey.pk8文件的引用使用绝对路径。升级 是我们已经打好的包,update_signed.zip包是命令执行完生成的已经签过名的包。
    9)MANIFEST.MF:这个manifest文件定义了与包的组成结构相关的数据。类似Android应用的mainfest.xml文件。
    10)CERT.RSA:与签名文件相关联的签名程序块文件,它存储了用于签名JAR文件的公共签名。
    11)CERT.SF:这是JAR文件的签名文件,其中前缀CERT代表签名者。

    四、TV终端的升级包获取及升级策略

    4.1 功能
    TV终端升级包是由终端升级程序upgradesystem.apk控制的,如图(4.1)所示,该程序完成一下主要功能:
    1) 后台下载策略文件,依据策略文件判断是否需要升级,采用差分还是整包级;
    2) 断点续传下载需要的系统升级包,并进行checksum校验确保其下载的正确性;
    3) 文件校验功能,对下载的升级包进行校验,确保下载文件的正确性。
    4) Recovery升级功能,需要recovery升级时,写入recovery升级标识。
    5) 写入cache/recovery/command命令,便于下次重启时升级;

    这里写图片描述

    五、Android系统中三种启动模式

    5.1 Android系统启动后可能进入的模式有以下几种
    1) MAGIC KEY(组合键):即用户在启动后通过按下组合键,进入不同的工作模式,具体有两种:
    Vol+ + Power :若用户在启动刚开始按了Vol+ + Power组合键,系统会直接进入Recovery模式。以这种方式进入Recovery模式时系统会进入一个简单的UI(使用了minui)界面,用来提示用户进一步操作。有如下几种操作选项:
    “reboot system now”
    “apply update from sdcard”
    “wipe update from cache”
    “wipe cache”
    “wipe data”
    2) 正常启动:若启动过程中用户没有按下任何组合键,bootloader会读取位于MISC分区的启动控制信息块BCB(Bootloader Control Block)。它是一个结构体,存放着启动命令command。根据不同的命令,系统又 可以进入三种不同的启动模式。这个结构体的定义。
    struct bootloader_message{
    char command[32]; //存放不同的启动命令
    char status[32]; //update-radio或update-hboot完成存放执行结果
    char recovery[1024]; //存放/cache/recovery/command中的命令
    };

    command可能的值有两种, command==”boot-recovery”时,系统会进入Recovery模式。Recovery服务会具体根据/cache/recovery/command中的命令执行相应的操作(例如,升级升级或擦除cache,data等)。command为空时,即没有任何命令,系统会进入正常的启动,最后进入主系统(main system)。这种是最通常的启动流程。
    Android系统不同的启动模式的进入是在不同的情形下触发的,从SD卡中升级升级时会进入Recovery模式是其中一种,其他的比如:系统崩溃,或则在命令行输入启动命令式也会进入Recovery或其他的启动模式。

    六、Recovery模式服务

    升级包来源有两种,一个是OTA在线下载,一个是手动拷贝到SD卡或者U盘中。不论是哪种方式获得升级包,在进入Recovery模式前,都未对这个zip包做处理。只是在重启之前将zip包的路径告诉了Recovery服务下面具体分析这种升级方式下, 升级是怎样从上层一步步进入到Recovery模式的。
    6.1、从updatesystem应用到Reboot
    当我们依次选择工具箱–>支持–>系统升级–>在线升级后会弹出一个对话框,提示已有升级包是否现在更新
    1) 如果用户选择立即更新,后台下载升级包升级,将升级包保存到/cache目录下。
    2) 升级文件下载完成后,在Android下对升级包进行sha1正确行校验。校验通过后,调用了pm.reboot(“recovery”)函数,这个函数只将“recovery”参数传递过去了,之后将“boot-recovery”写入到了MISC分区的BCB数据块的command域中。这样在重启之后Bootloader才知道要进入Recovery模式。
    至此,Main System就开始重启并进入Recovery模式。在这之前Main System做的最实质的就是两件事,一是将“boot-recovery”写入BCB的command域,二是将–update_package=/cache/升级”写入/cache/recovery/command文件中。下面的部分就开始重启并进入Recovery服务了。

    6.2从reboot到Recovery服务
    从Bootloader开始如果没有组合键按下,就从MISC分区读取BCB块的command域(在主系统时已经将“boot-recovery”写入)。然后就以Recovery模式开始启动。与正常启动不同的是Recovery模式下加载的镜像是recovery.img。这个镜像同boot.img类似,也包含了标准的内核和根文件系统。其后就与正常的启动系统类似,也是启动内核,然后启动文件系统。在进入文件系统后会执行/init,init的配置文件就是/init.rc。这个配置文件来自bootable/recovery/etc/init.rc。这个文件做了如下几件事情。
    1)设置环境变量。
    2)建立etc连接。
    3)新建目录,备用。
    4)挂载/tmp为内存文件系统tmpfs
    5)启动recovery(/sbin/recovery)服务。
    6)启动adbd服务(用于调试)。

    七、从reboot到Recovery服务

    7.1 Recovery服务的通用流程
    从recovery.c的main函数开始:
    1) ui_init():Recovery服务使用了一个基于framebuffer的简单ui(miniui)系统。这个函数对其进行了简单的初始化。在Recovery服务的过程中主要用于显示一个背景图片和一个进度条。另外还启动了两个线程,一个用于处理进度条的显示,另一个用于响应用户的按键。
    2) get_arg():这个函数主要做了上图中get_arg()往右往下直到parse arg/v的工作。
    get_bootloader_message():主要工作是根据分区的文件格式类型(mtd或emmc)从MISC分区中读取BCB数据块到一个临时的变量中。然后开始判断Recovery服务是否有带命令行的参数(/sbin/recovery,根据现有的逻辑是没有的),若没有就从BCB中读取recovery域。如果读取失败则从/cache/recovery/command中读取然后。这样这个BCB的临时变量中的recovery域就被更新了。在将这个BCB的临时变量写回真实的BCB之前,又更新的这个BCB临时变量的command域为“boot-recovery”。这样做的目的是如果在升级失败(比如升级还未结束就断电了)时,系统在重启之后还会进入Recovery模式,直到升级完成。在这个BCB临时变量的各个域都更新完成后使用set_bootloader_message()写回到真正的BCB块中。
    3) parserargc/argv:解析我们获得参数。注册所解析的命令(,在下面的操作中会根据这一步解析的值进行一步步的判断,然后进行相应的操作。
    4) if(update_package):判断update_package是否有值,若有就表示需要升级更新包,此时就会调用install_package()。在这一步中将要完成安装实际的升级包。这是最为复杂,也是升级升级包最为核心的部分。
    5) if(wipe_data/wipe_cache):这一步判断实际是两步,在源码中是先判断是否擦除data分区(用户数据部分)的,然后再判断是否擦除cache分区。
    6) maybe_install_firmware_update():如果升级包中包含/radio/hboot firmware的更新,则会调用这个函数。
    7) prompt_and_wait():这个函数是在一个判断中被调用的。其意义是如果安装失败,则等待用户的输入处理。
    8) finish_recovery():这是Recovery关闭并进入Main System的必经之路。其大体流程如下:

    这里写图片描述

    将intent(字符串)的内容作为参数传进finish_recovery中。如果有intent需要告知Main System,则将其写入/cache/recovery/intent中。将内存文件系统中的Recovery服务的日志(/tmp/recovery.log)拷贝到cache(/cache/recovery/log)分区中,以便告知重启后的Main System发生过什么。擦除MISC分区中的BCB数据块的内容,以便系统重启后不在进入Recovery模式而是进入更新后的主系统。删除/cache/recovery/command文件。这一步也是很重要的,因为重启后Bootloader会自动检索这个文件,如果未删除的话又会进入Recovery模式。原理在上面已经讲的很清楚了。
    9) reboot():这是一个系统调用。在这一步Recovery完成其服务重启并进入Main System。这次重启和在主系统中重启进入Recovery模式调用的函数是一样的,但是其方向是不一样的。所以参数也就不一样。

    八、 Recovery服务的核心install_package函数

      install_package()是升级升级特有的一部分,也是最核心的部分。在这一步才真正开始对升级包进行处理。下面就开始分析这一部分。如图(8.1)所示:
    

    这里写图片描述

    下面顺着上面的流程图和源码来分析这一流程:
    1)ensure_path_mount():先判断所传的升级包路径所在的分区是否已经挂载。如果没有则先挂载。
    2)load_keys():加载公钥源文件,路径位于/res/keys。这个文件在Recovery镜像的根文件系统中。
    3)verify_file():对升级包升级包进行签名验证。
    4)mzOpenZipArchive():打开升级包,并将相关的信息拷贝到一个临时的ZipArchinve变量中。这一步并未对我们的升级包解压。
    5)try_update_binary():在这个函数中才是对我们的升级升级的地方。这个函数一开始先根据我们上一步获得的zip包信息,以及升级包的绝对路径将update_binary文件拷贝到内存文件系统的/tmp/update_binary中。以便后面使用。
    6)pipe():创建管道,用于下面的子进程和父进程之间的通信。
    7)fork():创建子进程。其中的子进程主要负责执行binary(execv(binary,args),即执行我们的安装命令脚本),父进程负责接受子进程发送的命令去更新ui显示(显示当前的进度)。子父进程间通信依靠管道。
    8)其中,在创建子进程后,父进程有两个作用。一是通过管道接受子进程发送的命令来更新UI显示。二是等待子进程退出并返回INSTALL SUCCESS。其中子进程在解析执行安装脚本的同时所发送的命令有以下几种:
    execv(binary,args)的作用就是去执行binary程序,这个程序的实质就是去解析升级包中的updater-script脚本中的命令并执行。由此,Recovery服务就进入了实际安装升级包的过程。

    九、升级程序update_binary的执行过程

    子进程所执行的程序binary为升级包中的update-binary。Recovery服务在做这一部分工作的时候是先将包中update-binary拷贝到内存文件系统中的/tmp/update_binary,然后再执行的。
    分析下这个程序的执行过程:
    1)函数参数以及版本的检查。
    2)获取管道并打开:在执行此程序的过程中向该管道写入命令,用于通知其父进程根据命令去更新UI显示。
    3)读取updater-script脚本:从升级包中将updater-script脚本读到一块动态内存中,供后面执行。
    4)Configure edify’s functions:注册脚本中的语句处理函数,即识别脚本中命令的函数。主要有以下几类
    RegisterBuiltins():注册程序中控制流程的语句,如ifelse、assert、abort、stdout等。
    RegisterInstallFunctions():实际安装过程中安装所需的功能函数,比如mount、format、set_progress、set_perm等。
    RegisterDeviceExtensions():与设备相关的额外添加項,在源码中并没有任何实现。
    FinishRegistration():结束注册。
    5)Parsethe script:调用yy*库函数解析脚本,并将解析后的内容存放到一个Expr类型的python类中。主要函数是yy_scan_string()和yyparse()。
    6)执行脚本:核心函数是Evaluate(),它会调用其他的callback函数,而这些callback函数又会去调用Evaluate去解析不同的脚本片段,从而实现一个简单的脚本解释器。
    7)错误信息提示:最后就是根据Evaluate()执行后的返回值,给出一些打印信息。

    展开全文
  • 很多人都知道Android 11怎么升级,下面小编就为大家详细的介绍一下Android 11升级更新的方法,大家如果升级的话可以按照下面的方法下载更新。Android 11安卓系统版本目前只有谷歌Pixel 2、Pixel 2 XL、Pixel 3...

    最近谷歌推出了Android 11,这个版本中虽然没有太大的改变,但是推出的一些小功能还是很实用的,像内置屏幕录像之类的功能都是大家期待了很久的。很多人都不知道Android 11怎么升级,下面小编就为大家详细的介绍一下Android 11升级更新的方法,大家如果想要升级的话可以按照下面的方法下载更新。

    d660f19815569d82f54e88aff3be2597.png

    Android 11安卓系统版本目前只有谷歌Pixel 2、Pixel 2 XL、Pixel 3、Pixel 3 XL、Pixel 3a、Pixel 3a XL、Pixel 4、Pixel 4 XL等机型,OPPO手机Find X2、Find X2 Pro等机型可进行更新。

    1、在手机自带的系统中更新

    打开手机中的【设置】,找到【关于手机】,在关于手机中可以看到当前手机的安卓版本,如果手机自动检测到可更新的系统,可以在连接无线网络的情况下进行下载并安装。

    29dd45175bc2d7e5f80802b4366b3593.png

    这种更新方式需要手机厂商提供安卓系统,例如OPPO手机,想要将OPPO手机的安卓版本升级到Android 11,那么就需要OPPO厂商提供Android 11安卓系统,然后用户手机检测到安卓版本系统更新,才可以下载并安装。

    a38ea210c48bcdee3246ac74f5111d10.png

    2、下载安卓系统升级包

    这一种更新Android 11的方法需要用户自己在网上下载对应的Android 11系统升级包,并手动进行安装。我们可以在手机官网找到Android 11更新系统的升级包,找到自己的手机型号选择下载到手机中,并安装升级。

    展开全文
  • 最近按项目要求,需要做一个车机Android在线升级操作,但是...最后的解决方案是在/data/文件下创建一个系统app能够操作的文件夹,进行升级操作. 1.升级流程 Android自带升级流程 API RecoverySystem.java(framewo...
  • 很多安卓手机用户在得知Android 5.0系统推出后,都很将自己的手机系统升级成5.0。但是,,目前,Android 5.0只推送了部分手机,其他的安卓用户要使用此系统的话,就要来看一看小编今天为大家带来的安卓系统升级...
  • 很多安卓手机用户在得知Android 5.0系统推出后,都很将自己的手机系统升级成5.0。但是,,目前,Android 5.0只推送了部分手机,其他的安卓用户要使用此系统的话,就要来看一看小编今天为大家带来的安卓系统升级...
  • 很多安卓手机用户在得知Android 5.0系统推出后,都很将自己的手机系统升级成5.0。但是,,目前,Android 5.0只推送了部分手机,其他的安卓用户要使用此系统的话,就要来看一看小编今天为大家带来的安卓系统升级...
  • Android 系统应用升级的坑

    千次阅读 2018-07-31 15:45:01
    基于业务需要,Android平板用户应用要变成系统应用,而且是桌面应用的唯一入口(关机开机后的应用界面)。 平板root之后,基于应用的改变为系统都有现成的说明,主要核心是将系统签名后的应用 adb push *****.apk /...
  • 起初我以为是华为手机自身系统的问题(因为手上的华为测试机都是正常的),还特地对比了几种配置的华为手机,最后发现,是Android 8.0系统版本的锅,不是手机的问题。 2017年8月22日,Google发布...
  • 谷歌今天正式发布了最新的安卓5.0正式版,作为一次非常大的系统升级安卓5.0带来了非常多明显的升级,体验上相比安卓4.4要精进不少。在众多手机纷纷向Android 5.0发起冲击之时,一加手机官方论坛也放出了首个...
  • Android-AB系统OTA升级介绍

    千次阅读 2020-02-15 15:04:21
    什么是OTA升级?OTA是Over-the-Air的简称,OTA升级可以理解为用户正常使用过程中进行升级,OTA 升级旨在升级基础操作系统系统分区上安装的只读应用和/或时区规则。什么是...
  • 文章目录MTK平台Android_P系统A/B升级至生成系统image一、device目录下的修改二、kernel 目录下的修改三、lk目录下的修改四、preloader目录下的修改五、修改img分区大小六、Android A/B System OTA分析 MTK平台...
  • Android系统升级那些事儿

    千次阅读 2013-10-17 11:34:09
    本文描述了Android系统更新要用到的一些概念,用到的硬件、用于烧写的系统和用于系统更新的文件。
  • Android 9覆盖率太低,但有些品牌年底可升级Android 10谷歌旗下的Android(安卓)操作系统已经陪伴我们走过了多个年头,经历过多次换代更新之后,已经摆脱了曾经卡顿、不够美观的形象。最新的Android 10系统已经正式...
  • Android9.0系统OTA升级update_engine

    千次阅读 2019-02-19 16:39:27
    Android旧式的系统升级是在Recover模式下将U盘里面...现在已使用全新的一套升级系统update_engine,这套系统的加入使原有的Recover变得多余,但是为了向下兼容所以还保留了Recover模块。update_engine升级思路是A/B...
  • 小米手机刷鸿蒙系统,最新的安卓系统已经上线了,也是华为最新推出的鸿蒙系统,不少安卓用户们都尝试下新的系统,今天推荐给大家的这个系统升级方式就很不错,大家只要在手机上操作就可以完成了,全新系统带给你的...
  • 双核安卓3.2 实战平板系统升级

    千次阅读 2011-09-05 13:29:20
    1999元买双核安卓3.2平板  你是Android控吗?你会刷机吗?对于使用Android系统手机的用户而言,刷机、重启、换电池已成为玩机必备的基础技能,在平板电脑产品线,Android 3.X(Honeycomb)是时下的主流系统,...
  • Android 系统锁屏实现固件升级动画

    千次阅读 2017-02-28 13:17:25
    前言在Android的开发过程中,有时候会有一些需求,实现一个类似锁屏的功能,我们经常会使用的一些悬浮窗效果或者弹出...Android 没有提供API 让我们来调用,只有查看源码, 利用Java 的反射机制来屏蔽,结果效果
  • 移动操作系统,每年会有一个大版本的发布,对部分功能多少会有影响,最近由于苹果发布了IOS10,以及android .6系统的普及,导致部分项目无法正常运转,尝试了一番,解决了所有问题,为此记录一下,方便同样问题的...
  • 在使用update.zip包升级时怎样从主系统(main system)重启进入Recovery模式,进入Recovery模式后怎样判断做何种操作,以及怎样获得主系统发送给Recovery服务的命令,这一系列问题的解决是通过整个软件平台的不同...
  • Android App 静默升级

    千次阅读 2020-07-08 18:58:56
    1、app应用必须经过系统签名,怎么签名我这就说了,可以查一下其他资料 2、apk下载过程可以参考https://blog.csdn.net/why_111/article/details/107211511 3、有了系统权限之后 ,记得在Manifest.xml目录下添加 ...
  • Android OTA升级新旧版本任意升级

    千次阅读 2016-01-18 11:24:08
    1. Android升级到较新的版本后,用.zip升级包升回旧的版本时,在升级时会发错。这是由于android系统时对升级文件有版本检测。 2. build/tools/releasetools/ota_from_target_files: def main(argv): def ...
  • 项目是网狐旗舰版架构,默认安卓编译版本是Android-19, 如果运行在Android9.0及以上的设备就会提示“此应用专为旧版本打造的提示”,所以需要将工程里面的AndroidManifest.xml文件中编译目标版本升级。为了之后方便...
  • android安卓系统远程控制

    千次阅读 2014-02-13 10:01:49
    安卓部分其实我们最开始没开发,因为大家都不是太熟悉,但是因为群里有朋友要求,我们就加上了,可能要求的权限比较多因为我们都是和硬件部分打交道而且是自动控制,但是放心,我们绝对不会收集个人信息啥的,我们...
  • 安卓系统的功能性升级来说,安全补丁更重要! 很多安卓手机的使用用户可能只在意固件的安卓核心版本以及相关功能性更新,但其实相对于安卓核心版本来说刻意的追求版本号其实并需要,因为除了 Android4.4 对 64...
  • android 数据库版本升级

    千次阅读 2014-04-27 12:53:03
    android应用程序需要升级时,如果之前的数据库表结构发生了变化或者新添加了表,就需要对数据库进行升级,并保留原来的数据库数据。  程序如何知道数据库需要升级? SQLiteOpenHelper类的构造函数有一个...
  • 浪费翻墙流量说,每次都要重新配置之前的个性化设置等相关内容。所以,采取差异补丁包的增量升级方式显然明智许多。关于 Android Studio 的版本更新,其实很简单,本没有写的必要,直接选择 Check for Updates......
  • 华为鸿蒙系统支持的手机型号有很多,如果你第一时间升级鸿蒙系统,需要申请内测后,才能够下载安装升级哦!知道如何操作的小伙伴们,一起来看看趣丁网带来的华为鸿蒙os2.0系统怎么升级教程吧!一、华为鸿蒙系统...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 48,800
精华内容 19,520
关键字:

安卓不想升级系统