IOI车机系统刷机和改包笔记2 - 改包脚本

news2024/11/19 1:29:49

前言:

最近对雪佛兰改包需求感兴趣的网友很多,大家都遇上了很多奇怪的问题,这里就我自己使用的环境和脚本进行分享,供大家参考。

1. 准备环境

我这里使用Ubuntu系统进行操作

andy@andy-vm:~$ sudo lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.2 LTS
Release:	22.04
Codename:	jammy

2. 准备原始img包和目录

andy@andy-vm:~/mycar$ tree .
.
├── system
├── system.img.tar
├── system.img.tar.md5sum
├── system.md5
├── _temp_
│   └── my_sparse.img

一定要注意 _temp_ 目录,my_sparse.img 是对 system.img.tar 解压后得到。

system 目录是我们自己创建的,用于挂载img镜像使用的。

注意这三个文件,这是生成之后的,重新制作前,解压出 my_sparse.img 就可以删除掉了。

├── system.img.tar
├── system.img.tar.md5sum
├── system.md5


# 制作新的之前可以删除掉
rm system.*

3. 挂载img镜像

# 注意路径
# 挂载img到system 文件夹
sudo mount ./_temp_/my_sparse.img ./system


# 进入apk目录
cd system/app

# 查看
andy@andy-vm:~/mycar/system/app$ ls
apa-release           carlife-release           com.lqrtx.enclavehelper  HTMLViewer       onstarservices-release  vpmpro-release
applecarplay-release  CertInstaller             com.lqrtx.musichelper    IflytekIME_1127  recorder-release        webview
Bluetooth             climate-release           com.lqrtx.vehiclehelper  KeyChain         SpeechHMI-release
btphone-release       com.autonavi.amapauto     commonservice-release    LiteAPP          text-release
calendar-release      com.estrongs.android.pop  engmode-release          mymedia-release  tod-release
CaptivePortalLogin    com.lqrtx.enclaveclock    hmiservice-release       nav-release      users-release
andy@andy-vm:~/mycar/system/app$ tree com.autonavi.amapauto
com.autonavi.amapauto
├── com.autonavi.amapauto.apk
└── lib
    └── arm
        ├── libaim.so
        ├── libamr-codec.so
        ├── libanr_tool.so
        ├── libapssdk.so
        ├── libautonavi.so
        ├── libbase_utils.so
        ├── libBootLoader.so
        ├── libcmb_AGroupPackage.so
        ├── libcmb_BootScreenPackage.so
        ├── libcmb_Common.so
        ├── libcmb_DriveReportPackage.so
        ├── libcmb_Dupinfo.so
        ├── libcmb_FileMerge.so
        ├── libcmb_font_cn.so
        ├── libcmb_GasServicePackage.so
        ├── libcmb_GVersion.so
        ├── libcmb_LayerImages.so
        ├── libcmb_MainPackage.so
        ├── libcmb_MyTrackPackage.so
        ├── libcmb_Oswald-Regular.so
        ├── libcmb_OverlayRes.so
        ├── libcmb_PhoneConnPackage.so
        ├── libcmb_Roboto-Bold.so
        ├── libcmb_style1.so
        ├── libcmb_style2.so
        ├── libcmb_style3.so
        ├── libcmb_style4.so
        ├── libcmb_style5.so
        ├── libcmb_SwitchCardPackage.so
        ├── libcmb_TbtPackage.so
        ├── libcmb_TripodPackage.so
        ├── libcmb_UserInfoPackage.so
        ├── libcmb_WechatBindPackage.so
        ├── libCommon.so
        ├── libContentProvider.so
        ├── libdumpcrash.so
        ├── libEagletEx.so
        ├── libEaglet.so
        ├── libGAdaptorInterface.so
        ├── libGAdaptor.so
        ├── libgaea.so
        ├── libGbl.so
        ├── libGComm3rd.so
        ├── libGFrame.so
        ├── libGNaviDice.so
        ├── libGNet.so
        ├── libGPlatformInterface.so
        ├── libGSQuirrel.so
        ├── libhsl.so
        ├── libifly_aime_gd.so
        ├── libisstts.so
        ├── libMainScreen.so
        ├── libmqtt_jni.so
        ├── libneonui_shared.so
        ├── libopenssl.so
        ├── libruntime_detector.so
        ├── libthird_party_libs.so
        ├── libturbo.so
        └── libUpdateMng.so

2 directories, 60 files

4. 修改apk

这里需要注意 arm 目录,需要手动将apk内部的lib文件解压出来,手动copy到这里。

com.autonavi.amapauto           # apk文件夹,名字不重要
├── com.autonavi.amapauto.apk   # apk自身
└── lib                         # 固定名字1 
    └── arm                     # 固定名字2
        ├── libaim.so           # copy自apk自身的lib文件夹里的so文件 
        ├── libamr-codec.so
         .....

最后参照其他apk的权限,简单设定一下。至少保证read权限。

5. 退出编辑状态

cd ../..

sudo umount system

6. 将my_sparse.img打包为system.img.tar

tar -cf system.img.tar ./_temp_/my_sparse.img

7. 计算md5

大部分人的失败都是因为这个,这里我提供一个简单的脚本命令。

md5sum ./_temp_/my_sparse.img | awk '{print $1}' > system.md5
md5sum ./system.img.tar | awk '{print $1}' > system.img.tar.md5sum

注意md5文件的名字,千万不能错。

如此,就制作出新的三个关键文件啦,重新制作一个刷机用的固件就可以啦。

8. 制作最小刷机固件

# 自己制作部分升级包,文件格式如下:(其余文件来自原版固件)

GM_refreshpkg_c1ux
    system.device
    system.img.tar
    system.img.tar.md5sum
    system.md5
    swmodel
    userdata.device
    userdata.img.tar
    userdata.img.tar.md5sum
    userdata.md5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1155388.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Web3 React项目Dapp获取智能合约对象

上文Web3 整理React项目 导入Web3 并获取区块链信息中,我们在react搭建的dapp中简单拿到了我们区块链中的账号授权信息 那 我们继续 先终端运行 ganache -d将ganache环境起起来 然后 我们运行 dapp 拿到授权列表 回到上文结束的一个状态 然后 我们发布一下自己的…

Qt 常用方法 获取磁盘总大小、可用空间、文件夹大小 文件大小B KB M G转换

1.通过QFile获取文件大小 注意&#xff1a;返回的是字节个数 QFile file("E:/59.raw");if (file.open(QIODevice::ReadOnly)) {qDebug() << file.size();// byte} else {qDebug() << "文件打开失败&#xff01;";} 通过QFileInfo获取文件大小…

初识CSS层叠样式表

文章目录 CSS介绍CSS层叠样式表1.CSS组成2.CSS语法结构3.注释语法4.引入CSS的多种方式 CSS选择器1.CSS基础选择器2.CSS组成选择器3.分组与嵌套4.CSS属性选择器5.CSS伪类选择器6.CSS伪元素选择器 选择器优先级CSS继承选择器的优先级 CSS样式调节字体样式文本颜色文本属性 边框di…

c++从入门到放弃,小白踩坑记录1

c从入门到放弃,小白踩坑记录1 错误问题描述 没有与这些操作数匹配的运算符操作数类型为std::basic_ostream <char,std::char traits <char > > < < <unknown-type > 错误代码 #include<iostream> int main(void) {std::cout << "…

从小白到精通:揭秘perf工具的全部功能与操作技巧

揭秘perf工具的全部功能与操作技巧 一、引言二、理解perf工具的基本概念三、安装与配置perf工具3.1、不同操作系统的perf工具安装3.2、perf工具的配置选项和环境设置 四、perf工具的常用命令和功能4.1、perf工具的基本命令结构和常用参数4.2、perf工具的常见用法和功能4.3、per…

医学AI智能导诊系统源码

医院智能导诊系统是一款基于人工智能和大数据技术开发的医疗辅助软件&#xff0c;旨在为患者提供更加便捷、精准的医疗服务。 一、什么是智能导诊系统&#xff1f; 智能导诊系统是一种基于人工智能和大数据技术开发的医疗辅助软件&#xff0c;它能够通过对患者的症状、病史等信…

Qt扫盲-QFontDatabase理论

QFontDatabase理论 一、概述二、常用功能 一、概述 QFontDatabase 类提供有关底层窗口系统中可用字体的信息。 这个类最常见的用途是查询数据库中的字体系列列表()以及每个系列可用的 pointSizes() 和 styles()。pointSizes() 的另一种替代方法 是smoothSizes()&#xff0c;它…

使用传感器融合的前方碰撞预警-(Forward Collision Warning Using Sensor Fusion)

这个例子matlab自动驾驶工具箱中关于使用传感器融合的前方碰撞预警-(Forward Collision Warning Using Sensor Fusion)例子&#xff0c;其展示了如何通过融合视觉和雷达传感器的数据来跟踪车辆前方的物体&#xff0c;从而实现前向碰撞预警系统的开发与验证。 1 概述 前方碰撞…

Java体系性能测试进阶必须了解的知识点——Thread Dump

Thread Dump定义 Java Thread dump记录了线程在jvm中的执行信息&#xff0c;可以看成是线程活动的日志。Java线程转储文件有助于分析应用程序和死锁情况中的瓶颈。Thread Dump是非常有用的诊断Java应用问题的工具。它提供了当前活动线程的快照及JVM中所有Java线程的堆栈跟踪信…

【计算机网络】传输层——TCP

目录 1.概念2.可靠性概念3.TCP协议格式序号和确认序号窗口大小六个标志位 4.TCP可靠性保障确认应答机制&#xff08;ACK&#xff09;超时重传机制连接管理机制流量控制拥塞控制 5.TCP提高性能滑动窗口延迟应答捎带应答 6.面向字节流7.粘包问题8.TCP异常情况9.TCP总结 1.概念 T…

MES 价值点之数据追随

在现代制造业中&#xff0c;数据追溯已经越来越得到重视&#xff0c;特别是那些推行精益生产的企业重要性就更加突出了&#xff0c;而制造执行系统&#xff08;MES&#xff09;作为一种关键的生产管理工具&#xff0c;是能很好的为制造企业提供数据追溯功能。今天&#xff0c;和…

基因家族扩张与收缩分析-CAFE5

CAFE(Computational Analysis of gene Family Evolution)是一款以解释系统发育历史的方式分析基因家族大小变化的软件&#xff0c;这种分析常被称为基因家族收缩扩张(Gene family expansions and contractions)分析。 CAFE使用出生和死亡过程来模拟用户指定的系统发育树中的基…

剑指JUC原理-7.线程状态与ReentrantLock

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱吃芝士的土豆倪&#xff0c;24届校招生Java选手&#xff0c;很高兴认识大家&#x1f4d5;系列专栏&#xff1a;Spring源码、JUC源码&#x1f525;如果感觉博主的文章还不错的话&#xff0c;请&#x1f44d;三连支持&…

Linux的开发环境安装配置与后端项目部署

目录 一.安装开发环境 1.准备阶段 1.1 创建新目录 1.2 解压文件 2.JDK的安装与配置环境变量 2.1 解压jdk压缩包 2.2 配置环境变量 2.3 设置环境变量生效 2.4 验证是否安装成功 3.Tomcat的安装与使用 3.1 解压安装 3.2 开启服务 3.3 开放端口 3.4 访问成功 4.MySQ…

Python的错误和异常处理

一、错误和异常 编程中出现的错误大致可以分为两类&#xff1a;错误和异常。 (一)错误 错误又可以分为两类&#xff1a;语法错误和逻辑错误。 1. 语法错误 语法错误又称解析错误&#xff0c;它是指在编写程序时&#xff0c;程序的语法不符合Python语言的规范&#xff0c;导致…

虚拟机和Windows的文件传输

拖拽/复制粘贴 直接将虚拟机linux系统的文件拖曳到windows桌面&#xff0c;或者直接将windows的文件拖曳到虚拟机linux系统当中&#xff0c;可以实现文件传输。当然复制粘贴方式也可以&#xff0c;但是前提是需要下载安装好VMware tools。 共享文件夹 概念&#xff1a;在Win…

阿里在盘古云存储系统中部署RDMA的经验谈

1 阿里如何进行RDMA部署 1.1 RDMA部署规划中的考虑因素 存储集群的部署规划控制着网络拓扑结构、RDMA通信范围、存储节点配置等&#xff0c;必须考虑多种因素&#xff0c;包括存储容量与需求的匹配、硬件成本的控制、性能的优化、可用性和SLA风险的最小化。最终的结果是所有这…

cmake构建多项目编译

项目结构如下 CMakeLists清单 最外层的主CMakeLists cmake_minimum_required(VERSION 3.17) project(cmakeMulPackage)set(CMAKE_CXX_STANDARD 11)#添加一个子目录并构建该子目录 add_subdirectory(proj1) add_subdirectory(proj2)#定义头文件路径 include_directories(proj1…

【Linux】jdk、tomcat、MySQL环境搭建的配置安装,Linux更改后端端口

一、作用 工具的组合为开发者和系统管理员提供了构建和运行Java应用程序以及存储和管理数据的完整环境。 JDK&#xff08;Java Development Kit&#xff09;&#xff1a;JDK是Java开发工具包&#xff0c;它提供了开发和运行Java应用程序所需的工具和库。通过安装JDK&#xff0c…

跟着Nature正刊学作图 | 双轴柱状+折线散点图!

&#x1f4cb;文章目录 复现图片设置工作路径和加载相关R包读取数据集数据可视化计算均值和标准差可视化过程 跟着「Nature」正刊学作图&#xff0c;今天复现Nature文章中的一张双轴图–左边为分组柱状图、右边为折线散点图。 复现图片 图中的a是我们今天准备复刻的&#xff0c…