Android APK系列4-------Android编译APK后的系统结构
Android APK系列4-------Android编译APK后的系统结构
system文件夹就是system.img的解压结果,data就是userdata.img的解压结果,root就是ramdisk.img的解压结果。我们常见到的boot.img就是内核+ramdisk,Android的引导过程就是通过ramdisk内的启动脚本进行,而ramdisk内的目录结构明显就是一个linux的根目录,所以启动后,将system加载到ramdisk内的system下,userdata加载到ramdisk的data下而userdata.img和system.img均是以yaffs2的格式压缩,如果直接给我们一个刷机包,我们再从源码编译了相同版本的Android,那么有一部分是可以实现替换的。资源版块有win平台的unyaffs工具下载。这里介绍一下在linux平台如何解压缩yaffs(2)格式的文件。你可以从http://code.google.com/p/unyaffs/了解并下载这个解压yaffs的开源项目,下载prebuild的unyaffs文件放入/bin下即可使用unyaffs命令解压缩yaffs的文件(项目主页是说只能解压由 mkyaffs2image工具生成的img文件,不过解压缩system.img和userdata.img是肯定没有问题的)。最后如果我要解压缩ramdisk.img 怎么办呢?这里说一下,ramdisk.img是一个彻头彻尾的伪命名,它其实是cpio文件。在ubuntu的界面下可以通过鼠标右键的Extarct Here来解压,在命令行下通过下面几个连续的操作可以解开。
$ mv ramdisk.img ramdisk.cpio.gz
$ gzip -d ramdisk.cpio.gz
$ mkdir tmp
$ cd tmp
$ cpio -i -F ../ramdisk.cpio
此时 tmp 目录下的就是 ramdisk.img 的文件和目录了,可以根据需要编辑 init.rc 或者增
加 自己的启动画面。
压缩回 ramdisk.img
$ cpio -i -t -F ../ramdisk.cpio | cpio -o -H newc -O ../ramdisk_new.cpio
$ cd ..
$ gzip -5 -v ramdisk_new.cpio
$ mv ramdisk_new.cpio.gz ramdisk.img
前面提到的Linux平台的unyaffs工具(二进制程序,解压放入/bin下):
Windows下的yaffs2解压工具yaffs2img浏览器,可以打开system.img等文件
Android APK系列4-------Android编译APK后的系统结构相关推荐
- Android APK系列6-------APK反编译
Android APK系列6-------APK反编译 前面系列提到的工具在此依然有用,比如可以用yaff2img浏览器或者unyaffs来解压system.img,如果手里是手机,则需要用豌豆荚或3 ...
- Android(三)——将程序打包成APK文件,进行APK签名以及反编译APK
文章目录 1. 签名的作用 2. Android Studio 如何打包签名 3. 反编译 APK 3.1 获取图片资源 3.2 获取 .XML 资源 3.3 获取代码资源 1. 签名的作用 Andr ...
- Android代码混淆及反编译apk
序言: 经常听开发提起代码混淆引起的BUG,混淆后在测试一下有没有问题,那问题来了什么是代码混淆,怎么确认代码混淆成功了,带着问题读下文吧~~ 一.代码混淆的原理 代码混淆是将程序中的代码,等价转换为 ...
- app加固apk文件防止反编译apk打包流程
文章目录 [1]加固 一.为什么要加固 二.加固方案 ①免费的第三方加固方案 ②付费的第三方加固方案SDK ③Java IO 流实现AES加密dex [2]加固方案的实现方式 [3]apk文件构造 [ ...
- Android图片系列-2.Android App图片压缩、裁剪分析整理
移动端常用的图片格式有PNG和JPEG,目前ios手机和大部分安卓手机拍照生成的图片默认格式都是JPEG.我们开发APP的时候通常使用的是PNG,这可能是考虑到图片质量效果.PNG图片是无损压缩格式, ...
- android apk 编译命令,android – 如何从命令行编译APK?
Android使用Ant构建系统,因此您可以为项目创建一个build.xml和build.properties文件. 您需要先创建build.xml文件: android update project ...
- android studio 打包慢,[Android Studio系列(三)]Android Studio 编译、同步慢的解决方法
1 问题 (1) 当项目中引用的第三方模块太多,打开Android Studio的时候就会非常慢,提示一直在解决模块依赖,点击sync按钮同步第三方代码的时候也是巨慢,慢的原因是: 在gradle中引 ...
- Android深入浅出系列之Android工具的使用—调试桥ADB(二)
阅读目录 一:调试桥ADB 二:ADB的主要功能有哪些? 一:调试桥ADB adb是什么?adb有什么用?adb工具如何用? 是用来管理模拟器和真机的通用调试工具,该工具功能强大,直接打开cmd即 ...
- Android深入浅出系列之Android工具的使用—模拟器(一)
前言 我们下载的SDK包里面有一个叫"Tools"的文件夹,里面为我们提供了许多与Android开发相关的工具,其中一些是必不可少的,现在我们就介绍一下模拟器 Android模拟器 ...
- Android学习系列(41)--Android Studio简单使用
1. 环境 UBUNTU 14.04 + Android Studio 0.8.2 2. 安装jdk openjdk-7是一个很好的选择: sudo apt-get update sudo apt-g ...
最新文章
- JAVA9模块化详解(一)——模块化的定义
- python与人工智能编程-python学习(一)——python与人工智能
- python sql in list
- iBatis.Net系列(一)-简介
- 东北大学 计算机技术导师,报考东北大学 计算机技术 329分 求调剂相关专业
- 手把手教你使用Python生成图灵智能小伙伴
- ext中ArrayStore,JsonStore,XmlStore的用
- SQL Server2008 用编写脚本自动生成的Sql语言出现 “列名显示无效 ”错误
- 《算法设计与分析》黄宇编著 课后习题参考答案
- Photoshopnbsp;CS5抠图实例:超快的抠图…
- python三大神器之一装饰器
- 网络安全界巨擘 王江民
- Chrome浏览器主页被篡改怎么修复
- 怎样开通gmail邮箱smtp服务
- 雷霆战机服务器维护公告,雷霆战机停服公告 4月11日服务器维护
- 使用python爬取电子书_怎样用python3爬取电子书网站所有下载链接
- Markdown 小技巧之图片左对齐
- 豆瓣电影数据可视化大屏
- 信息技术外包:中小企业信息化之道
- 在 LaTeX 中创建文档