Android深度探索(卷2)系统应用源代码分析与ROM定制 读书笔记1
来源:互联网 发布:韩顺平java视频教程 编辑:程序博客网 时间:2024/05/30 23:50
1.在config文件中如果加上CONFIG_IKCONFIG_PROC=y,编译下载开机后就会在/proc下面生成config.gz的文件,这个文件可以直接解压使用。
2.Android源码下面就有编译器,alps/prebuild目录下即是,可以在目录下搜索arm-eabi-gcc找到交叉编译器的位置,然后可以加入PATH
3.刷机之前需要保证BootLoader是解锁的,如果未解锁需要在Android设备开机下执行adb reboot bootloader进入bootloader模式,执行fastboot oem unlock(fastboot oem lock是加锁),成功后会在模式界面显示红色的UNCLOCKED
4.system.img的修改
在out/host/linux-x86/bin下有很多linux-x86的工具,包括打包工具,通过
使用simg2img system.img system.img.raw把system.img转换为可挂载的镜像
使用mount system.img.raw /mnt/system 把镜像挂载到/mnt/system下面
使用make_ext4fs -s -l 512M -a system system.img /mnt/system 重新打包成镜像
其中-s是生成Sparse格式的镜像文件,不可挂载,占用空间小,不加则可直接挂在但是大,
-l是指定逻辑分区的尺寸,生成的镜像不能比这个大,-a指定在Android运行系统中的挂载点
5.修改开机动画
方法一:直接替换解压的system/media下的bootanimation.zip,然后打包
方法二:直接替换运行的Android设备中的/system/media下或者/data/local下的bootanimation.zip,需要root权限
adb push bootanimation.zip /adcard/bootanimation.zipadb shellsumount -o rw, remount /systemcp /sdcard/bootanimation.zip /system/media/bootanimation.zip
/data/local下不用remountadb push bootanimation.zip /adcard/bootanimation.zipadb shellsucp /sdcard/bootanimation.zip /data/local/bootanimation.zip6.bootanimation.zip
由一个或多个partN文件夹和desc.txt组成
文件夹中是播放动画的图片,图片名称结尾(不包括格式)需要用数字排序结尾,例如pic001
desc.txt
<width> <height> <frame-rate>p <loop> <pause> <folder>...例如:786 1366 15p 1 0 pic001p 0 0 pic002暂停时间计算:pause/frame-rate7.修改userdata.image使用simg2img userdata.img userdata.img.raw把userdata.img转换为可挂载的镜像
使用mount userdata.img.raw /mnt/rom/userdata 把镜像挂载到/mnt/rom/userdata下面
可以在里面添加apk
使用make_ext4fs -s -l 128M -a datauserdata.img /mnt/rom/userdata 重新打包成镜像
注意这个128M会指定内存的最大容量,即使实际大小比128M大也只能显示和用128M,
并且这个制定的容量不能比实际的内部储存大。
8.ramdisk.img是root目录的压缩,包括初始化文件,不能使用上面的方法挂载,使用gunzip解压,并
用cpio恢复目录结构
mkdir ramdiskcd ramdiskgunzip -c ../ramdisk.img | cpio -i使用下面的命令生成ramdisk.imgmkbootfs . | minigzip > ../ramdisk.img9.boot.img主要包括内核zImage和ramdisk.img解压unpackbootimg -i ../boot.img压缩mkbootimg(out/host/linux-x86/bin/) --kernel boot.img-zImage --ramdisk.gz.new -o boot.img.new
10.获取ROOT权限
- 把修改过的su命令文件直接放入前面解压的system.img的/system/xbin下面,然后打包。
- 修改ramdisk.img,使得进入shell是就获得ROOT权限,修改ramdisk.img中的defualt.prop文件,
- 然后重新生成boot.img,经过修改的boot.img如下
ro.secure=0ro.allow.mock.location=1ro.debuggable=1presist.sys.usb.config=mtpro.adb.secure=1persist.service.adb.enable=1
- Android深度探索(卷2)系统应用源代码分析与ROM定制 读书笔记1
- Android深度探索 卷1 HAL与驱动开发 读书笔记2
- CM系统应用源码分析与rom定制
- Android深度探索 卷1 HAL与驱动开发 读书笔记1
- 《Android深度探索(卷1):HAL与驱动开发》虚拟实验环境(Ubuntu Linux)及源代码免费下载,不需要CPU虚拟化支持
- 《Android深度探索(卷1):HAL与驱动开发》新书发布
- 《Android深度探索(卷1):HAL与驱动开发》实验环境配置与实验资源下载
- android 系统文件夹结构与ROM定制刷机教程
- 深入浅出 - Android系统移植与平台开发(五)- 定制手机模拟器ROM
- 深入浅出 - Android系统移植与平台开发(五)- 定制手机模拟器ROM
- 深入浅出 - Android系统移植与平台开发(五)- 定制手机模拟器ROM
- 深入浅出 - Android系统移植与平台开发(五)- 定制手机模拟器ROM
- Android 系统源代码定制
- Android系统源代码情景分析读书笔记
- Android深度探索(卷1):安装C/C++交叉编译环境
- Android深度探索(卷1):安装C/C++交叉编译环境
- Android系统ROM定制(待完善)
- Android Rom定制与修改学习(一)
- Python第一章 安装、PyCharm
- curl get请求添加header头信息
- 任意输入一个整数,编程判断它的奇偶性。
- Fiddler 从安装到使用
- Go语言使用PostgreSQL数据库
- Android深度探索(卷2)系统应用源代码分析与ROM定制 读书笔记1
- ansible hosts配置文件实例
- Btc98虚拟数字货币区块链开源技术区别
- 在一台空白的电脑上安装Android Studio
- Go语言中使用SQLite数据库
- django开发电子商城(二)商品models创建
- Centos 三种安装JDK方法
- 抽象类与接口的区别
- Go语言中使用MySql数据库