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

前言:

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

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.so2 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_c1uxsystem.devicesystem.img.tarsystem.img.tar.md5sumsystem.md5swmodeluserdata.deviceuserdata.img.taruserdata.img.tar.md5sumuserdata.md5

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

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

相关文章

iZotope RX 10(音频修复和增强工具)

iZotope RX 10是一款音频修复和增强软件,主要特点包括: 声音修复:iZotope RX 10可以去除不良噪音、杂音、吱吱声等,使音频变得更加清晰干净。音频增强:iZotope RX 10支持对音频进行音量调节、均衡器、压缩器、限制器等…

如何在【逻辑回归】中优化控制正则化程度的超参数C

一.逻辑回归基本介绍 逻辑回归也称作logistic回归,是一种广义的线性回归分析模型,主要是用来解决二分类问题(也可以解决多分类问题)。通过训练集来训练模型,并在训练结束后对测试集进行分类。 通过激活函数&…

杂货铺 | 报错记录(持续更新)

文章目录 ⚠️python SyntaxError: Non-UTF-8 code starting with ‘\xb3‘ in file⚠️partially initialized module ‘‘ has no attribute ‘‘(most likely due to a circular import)⚠️AttributeError: ‘DataFrame‘ object has no attribute ‘append‘ ⚠️python S…

Flink CDC 2.0 主要是借鉴 DBLog 算法

DBLog 算法原理 DBLog 这个算法的原理分成两个部分,第一部分是分 chunk,第二部分是读 chunk。分 chunk 就是把一张表分为多个 chunk(桶/片)。我可以把这些 chunk 分发给不同的并发的 task 去做。例如:有 reader1 和 re…

springboot是如何工作的

一、前言 现在java后端开发框架比较多的使用springboot框架,springboot是在以前的springMVC进行封装和优化,最大的特点是简化了配置和内置Tomcat。本节通过阅读源码理解springboot是如何工作的。 二、springboot是如何工作的 1、从启动类开始 /***服务…

JAVA毕业设计107—基于Java+Springboot+Vue的民宿酒店预订管理系统(源码+数据库)

基于JavaSpringbootVue的民宿酒店预订管理系统(源码数据库)107 一、系统介绍 本系统前后端分离 本系统分为用户、前台、管理员三种角色(角色菜单可以自行分配) 前台: 登录、注册、民宿浏览、民宿评价、民宿酒店下单预订、密码修改、个人信息修改。 管理后台&…

机泵设备如何通过设备健康管理平台实施预测性维护

机泵设备在工业生产中起着至关重要的作用,但长时间运行和频繁使用容易引发各种故障。为了提高机泵设备的可靠性和效率,预测性维护成为一种重要的管理策略。设备健康管理平台作为一种先进的工具,为机泵设备的预测性维护提供了有力支持。本文将…

NlogPrismWPF

文章目录 Nlog&Prism&WPF日志模块实现原理添加配置注入服务应用测试其他模块怎么调用? Nlog&Prism&WPF 日志模块 介绍了为WPF框架Prism注册Nlog日志服务的方法 实现原理 无论是在WPF或者ASP.NET Core当中, 都可以使用ServiceCollection来做到着…

【HarmonyOS】鸿蒙操作系统架构

HarmonyOS架构 一. 鸿蒙系统定位二. 架构整体遵从分层设计三. HarmonyOS具有的技术特性四. HarmonyOS有三大特征 其它相关推荐: 软考系统架构之案例篇(架构设计相关概念) 系统架构之微服务架构 系统架构设计之微内核架构 所属专栏:系统架构设计师 一. 鸿…

在excel中如何打出上标、下标

例如,想把A2的2变为下标。 在单元中输入内容: 选中2: 右键单击,然后点击“设置单元格格式”: 在特殊效果的下面勾选“下标”,然后点击下面的“确定”按钮: 就将2变为下标了:…

竞赛选题 深度学习图像风格迁移 - opencv python

文章目录 0 前言1 VGG网络2 风格迁移3 内容损失4 风格损失5 主代码实现6 迁移模型实现7 效果展示8 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习图像风格迁移 - opencv python 该项目较为新颖,适合作为竞赛课题…

Go Map底层实现简述

Go的map是一种高效的数据结构,用于存储键值对。其底层实现是一个哈希表(hash table),下面是有关map底层实现的详细介绍: 哈希表: map的底层实现是一个哈希表,也称为散列表。哈希表是一个数组&a…

13.7性能测试工具(LoadRunner)(简单扫盲)

下载LoadRunner和360极速浏览器 一.为什么选择LoadRunner而不是Jmeter 1.Jmeter没有录制功能. 2.LoadRunner可以设计非常丰富的测试场景. 3.LoadRunner能够产出非常丰富的测试报告. 二.LoadRunner三大组件 1.VUG: 功能: 录制脚本(编写脚本). 2.Controller: 功能: 设计场…

2021年06月 Python(二级)真题解析#中国电子学会#全国青少年软件编程等级考试

Python等级考试(1~6级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 执行下列代码后,运行结果是? seq=[hello,good,morning] s=*.join(seq

【设计模式】第8节:结构型模式之“适配器模式”

一、简介 适配器模式是用来做适配的,它将不兼容的接口转换为可兼容的接口,让原本由于接口不兼容而不能一起工作的类可以一起工作。 适配器模式角色: 请求者client:调用服务的角色目标Target:定义了Client要使用的功…

企业金蝶KIS软件服务器中了locked勒索病毒怎么办,勒索病毒解密

最近一段时间,网络上的locked勒索病毒又开始了新一波的攻击,给企业的正常生产生活带来了严重影响。经过最近一段时间云天数据恢复中心对locked勒索病毒的解密,为大家整理了以下有关locked勒索病毒的相关信息。近期locked勒索病毒主要攻击金蝶…

Flask-SQLAlchemy事件钩子介绍

一、前言 前几天在搜资料的时候无意中看到有介绍SQLAlchemy触发器,当时感觉挺奇怪的,触发器不是数据库层面的概念吗,怎么flask-SQLAlchemy这个ORM框架会有这玩意。 二、SQLAlchemy触发器一个简单例子 考虑到效率博客表中有两个字段&#xf…

食品行业小程序开发攻略

想要设计一个食品小程序商城,却担心自己没有任何设计经验?别担心,现在有了一些简单易用的小程序制作工具,零基础也能成为一个小程序商城设计师!接下来,我们将一步步教你如何使用这些工具快速上手。 首先&am…

关于线性模型的底层逻辑解读 (机器学习 细读01)

一 多元线性回归 线性回归是机器学习中 有监督机器学习 下的一种算法。 回归问题主要关注的是因变量(需要预测的值,可以是一个也可以是多个)和一个或多个数值型的自变量(预测变量)之间的关系。 需要预测的值:即目标变量,target,y&#xff0c…