recovery 升级

1、recovery升级原理:https://blog.csdn.net/weixin_30666401/article/details/101285628

      按照原文指示,我打开了Android 9.0的update升级包,其内容如下:

        

        其中system、vendor都是压缩的镜像文件,于是才有了下面的如何解压缩的过程。和原文有          点 不 一样的是这里没有recovery目录,recovery目录里的install-recovery.sh和 recovery-                from-boot.p都在system分区里面。

2、解压br文件格式的工具:https://github.com/google/brotli,编译见Build instructions,可用其中       的configure-cmake和cmake方式编译。

     egg:

        brotli -d system.new.dat.br                //生成的文件是system.new.dat

3、如果用cmake编译,cmake的语法:https://blog.csdn.net/kai_zone/article/details/82656964

      补充:

     a、cmake -DCMAKE_INSTALL_PREFIX:指定安装目录

          egg:

           cmake -DCMAKE_INSTALL_PREFIX=/usr ..

     b、SET:用来显式的定义变量 

           egg:

            set(libs "${CMAKE_SOURCE_DIR}/src/main/jnilibs")

             定义了一个变量libs,并且变量的值为${CMAKE_SOURCE_DIR}/src/main/jnilibs

     c、cmake  --build .

           https://www.zhihu.com/question/63537567

          概括:

        cmake通过cmake generator支持不同的底层,比如Makefile系列、Ninja系列等。例如要               产生Ninja,加上 -G  Ninja 即可,即cmake -G Ninja。如果没有 cmake --build . 这条命                 令,就需要调用底层命令,比如make或者ninja。但现在cmake提供了一个统一的命令接               口,不管底层是啥,直接--build即可。也就是说cmake  --build . 等价于make或ninja。 

4、解压system.new.dat:

        ./tools/sdat/sdat2img.py system.transfer.list system.new.dat system.img

        其中sdat2img.py:https://github.com/xpirt/sdat2img

5、执行file  system.img:

       a、Linux rev 1.0 ext4 filesystem data,.........

        b、Android sparse image,......................

 6、simg2img <sparse_image_files> <raw_image_file>    //sparse image转化成为ext4的raw imge

 7、mount system.img /xxx,这样即可查看 system.img里的内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值