android 系统编译
文章平均质量分 74
tron
这个作者很懒,什么都没留下…
展开
-
bootimg解压和压缩破解
一、破解原理 Android手机获得Root权限,其实就是让/system和/data分区获得读写的权限。这两个分区的权限配置,一般在根分区的init.rc文件中,修改这个文件可永久获得root权限。众所周知,市面上绝大部分的Android手机文件系统有三个分区,分别是/,/system,/data。根分区(/)是打包为ramdisk.img后,再与kernel的zImage打包转载 2013-04-19 11:19:15 · 4967 阅读 · 0 评论 -
makefile详解 多目标 静态模式 十三
六、多目标 Makefile的规则中的目标可以不止一个,其支持多目标,有可能我们的多个目标同时依赖于一个文件,并且其生成的命令大体类似。于是我们就能把其合并起来。当然,多个目标的生成规则的执行命令是同一个,这可能会可我们带来麻烦,不过好在我们的可以使用一个自动化变量“$@”(关于自动化变量,将在后面讲述),这个变量表示着目前规则中所有的目标的集合,这样说可能很抽象,还是看一个例子吧。转载 2012-07-31 18:51:29 · 556 阅读 · 0 评论 -
makefile详解 伪目标 十二
五、伪目标 最早先的一个例子中,我们提到过一个“clean”的目标,这是一个“伪目标”, clean: rm *.o temp 正像我们前面例子中的“clean”一样,即然我们生成了许多文件编译文件,我们也应该提供一个清除它们的“目标”以备完整地重编译而用。 (以“make clean”来使用该目标)因为,我们并不生成“cle转载 2012-07-31 18:51:05 · 417 阅读 · 0 评论 -
makefile详解 书写规则 十
书写规则 ———— 规则包含两个部分,一个是依赖关系,一个是生成目标的方法。 在Makefile中,规则的顺序是很重要的,因为,Makefile中只应该有一个最终目标,其它的目标都是被这个目标所连带出来的,所以一定要让make知道你的最终目标是什么。一般来说,定义在Makefile中的目标可能会有很多,但是第一条规则中的目标将被确立为最终的目标。如果第一条规则中的目标有很多个,转载 2012-07-31 18:49:34 · 458 阅读 · 0 评论 -
makefile详解 环境变量 工作方式 九
四、环境变量 MAKEFILES 如果你的当前环境中定义了环境变量MAKEFILES,那么,make会把这个变量中的值做一个类似于include的动作。这个变量中的值是其它的Makefile,用空格分隔。只是,它和include不同的是,从这个环境变中引入的Makefile的“目标”不会起作用,如果环境变量中定义的文件发现错误,make也会不理。但是在这里我还是建议不要使用这转载 2012-07-31 18:49:07 · 766 阅读 · 0 评论 -
makefile详解 包含内容 包含其他文件 八
一、Makefile里有什么? Makefile里主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释。 1、显式规则。显式规则说明了,如何生成一个或多的的目标文件。这是由Makefile的书写者明显指出,要生成的文件,文件的依赖文件,生成的命令。 2、隐晦规则。由于我们的make有自动推导的功能,所以隐晦的规则可以让我们比较粗糙地简略地书写Makefile,这转载 2012-07-31 18:48:24 · 976 阅读 · 0 评论 -
makefile详解 变量 四
在上面的例子中,先让我们看看edit的规则: edit : main.o kbd.o command.o display.o \ insert.o search.o files.o utils.o cc -o edit main.o kbd.o command.o display.o \转载 2012-07-31 18:46:06 · 855 阅读 · 0 评论 -
makefile详解 如何工作 三
三、make是如何工作的 在默认的方式下,也就是我们只输入make命令。那么, 1、make会在当前目录下找名字叫“Makefile”或“makefile”的文件。 2、如果找到,它会找文件中的第一个目标文件(target),在上面的例子中,他会找到“edit”这个文件,并把这个文件作为最终的目标文件。 3、如果edit文件不存在,或是edit所依赖转载 2012-07-31 18:45:25 · 1199 阅读 · 0 评论 -
makefile详解 使用变量 十七
使用变量 ———— 在Makefile中的定义的变量,就像是C/C++语言中的宏一样,他代表了一个文本字串,在Makefile中执行的时候其会自动原模原样地展开在所使用的地方。其与C/C++所不同的是,你可以在Makefile中改变其值。在Makefile中,变量可以使用在“目标”,“依赖目标”,“命令”或是Makefile的其它部分中。变量的命名字可以包含字符、数字,下划转载 2012-07-31 18:53:36 · 387 阅读 · 0 评论 -
makefile详解 函数 foreach if call origin shell 控制make函数 二十二
四、foreach 函数 foreach函数和别的函数非常的不一样。因为这个函数是用来做循环用的,Makefile中的foreach函数几乎是仿照于Unix标准Shell(/bin/sh)中的for语句,或是C-Shell(/bin/csh)中的foreach语句而构建的。它的语法是: $(foreach ;,;,;) 这个函数的意转载 2012-08-01 08:57:35 · 593 阅读 · 0 评论 -
makefile详解 make 的运行 二十三
make 的运行 —————— 一般来说,最简单的就是直接在命令行下输入make命令,make命令会找当前目录的makefile来执行,一切都是自动的。但也有时你也许只想让make重编译某些文件,而不是整个工程,而又有的时候你有几套编译规则,你想在不同的时候使用不同的编译规则,等等。本章节就是讲述如何使用make命令的。一、make的退出码 make命令执行后有三个转载 2012-08-01 08:58:08 · 1059 阅读 · 0 评论 -
Android APK反编译详解(附图)
android反编译工具jar下载工具java64bit这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程。在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件。本文Android反编译教程,测试环境:Win转载 2013-04-19 11:25:47 · 528 阅读 · 0 评论 -
ubuntu环境下反编译android apk
使用ApkTool反编译Apk下载 apktool1.4.3.tar.bz2 、apktool-install-linux-r04-brut1.tar.bz2 两个包,并解压到统一个目录中,解压后得到aapt apktool apktool.jar 。解压安装完成后输入以下命令解压:[plain] view plaincopy$ ./apktool d a转载 2013-04-16 18:50:12 · 639 阅读 · 0 评论 -
Android编译过程详解(三)
Android编译过程详解(一):http://www.cnblogs.com/mr-raptor/archive/2012/06/07/2540359.html Android编译过程详解(二):http://www.cnblogs.com/mr-raptor/archive/2012/06/08/2541571.html Android编译过程详解(三):http://ww转载 2012-07-28 18:19:43 · 1357 阅读 · 0 评论 -
makefile详解 另类风格 六
即然我们的make可以自动推导命令,那么我看到那堆[.o]和[.h]的依赖就有点不爽,那么多的重复的[.h],能不能把其收拢起来,好吧,没有问题,这个对于make来说很容易,谁叫它提供了自动推导命令和文件的功能呢?来看看最新风格的makefile吧。 objects = main.o kbd.o command.o display.o \ insert转载 2012-07-31 18:47:26 · 1033 阅读 · 0 评论 -
[Android]构建boot.img(三):boot.img的生成与结构
在前两篇同一系列的文章中都提到了以下一段语句:1#build/core/Makefile2 3INTERNAL_BOOTIMAGE_ARGS := \4 5 --kernel $(INS转载 2012-08-01 17:54:04 · 2985 阅读 · 0 评论 -
[Android]构建boot.img(二):kernel的拷贝与打包
上文已经对boot.img其中组成部分之一ramdisk.img做了分析,boot.img另外一个重要的组成部分就是kernel了,这里所说的kernel,可以只理解为位于out/target/product/tcc8800/中的kernel文件,本文主要分析kernel的拷贝过程以及如何被打包到boot.img中。经过分析得知位于out/target/product/tcc8800/中的转载 2012-08-01 17:53:09 · 1518 阅读 · 0 评论 -
[Android]构建boot.img(一):root目录与ramdisk.img的生成
以TCC88XX为例,当在Android顶层源码目录使用make编译完成后,会生成这样一个目录:out/target/product/tcc8800,该目录内部有我们需要的boot.img和system.img,boot.mg使用kernel和out/target/product/tcc8800/root目录打包而成(广义的ramdisk),也就是说,boot.img是由k转载 2012-08-01 17:52:22 · 904 阅读 · 0 评论 -
makefile详解 定义模式规则 二十五
五、定义模式规则 你可以使用模式规则来定义一个隐含规则。一个模式规则就好像一个一般的规则,只是在规则中,目标的定义需要有"%"字符。"%"的意思是表示一个或多个任意字符。在依赖目标中同样可以使用"%",只是依赖目标中的"%"的取值,取决于其目标。有一点需要注意的是,"%"的展开发生在变量和函数的展开之后,变量和函数的展开发生在make载入Makefile时,而模式规则中的"%"转载 2012-08-01 08:59:21 · 576 阅读 · 0 评论 -
makefile详解 自动生成依赖性 十四
八、自动生成依赖性 在Makefile中,我们的依赖关系可能会需要包含一系列的头文件,比如,如果我们的main.c中有一句“#include "defs.h"”,那么我们的依赖关系应该是: main.o : main.c defs.h 但是,如果是一个比较大型的工程,你必需清楚哪些C文件包含了哪些头文件,并且,你在加入或删除头文件时,也需要小心地修改Makefil转载 2012-07-31 18:51:54 · 607 阅读 · 0 评论 -
makefile详解 概述 一
概述 —— 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会转载 2012-07-31 18:44:19 · 435 阅读 · 0 评论 -
Linux makefile 函数总结
转自:http://apps.hi.baidu.com/share/detail/30601640Makefile 常用函数表一、字符串处理函数1.$(subst FROM,TO,TEXT)函数名称:字符串替换函数—subst。函数功能:把字串“TEXT”中的“FROM”字符替换为“TO”。返回值:替换后的新字符串。2.$(patsubst PATTERN,RE转载 2012-08-01 10:37:25 · 614 阅读 · 0 评论 -
makefile详解 文件搜寻 十一
四、文件搜寻 在一些大的工程中,有大量的源文件,我们通常的做法是把这许多的源文件分类,并存放在不同的目录中。所以,当make需要去找寻文件的依赖关系时,你可以在文件前加上路径,但最好的方法是把一个路径告诉make,让make在自动去找。Makefile文件中的特殊变量“VPATH”就是完成这个功能的,如果没有指明这个变量,make只会在当前的目录中去找寻依赖文件和目标文件。如果转载 2012-07-31 18:50:06 · 916 阅读 · 0 评论 -
makefile详解 清空目标文件的规则 七
每个Makefile中都应该写一个清空目标文件(.o和执行文件)的规则,这不仅便于重编译,也很利于保持文件的清洁。这是一个“修养”(呵呵,还记得我的《编程修养》吗)。一般的风格都是: clean: rm edit $(objects) 更为稳健的做法是: .PHONY : clean clea转载 2012-07-31 18:47:56 · 1127 阅读 · 0 评论 -
生成release版本的Android系统 --签名
转自 http://blog.csdn.net/chen_chun_guang/archive/2011/04/15/6325833.aspx网上Android数字签名大多是与Android APK相关,而介绍Android系统签名的方法却不多。正巧前段时间帮别人做CTS 认证,需要用到给Android系统签名。为什么需要给Android系统签个名才能进行CTS认证呢?原来我们通过m转载 2012-07-31 09:15:23 · 839 阅读 · 0 评论 -
MSM平台linux/android build笔记
对两个命令的分析如下:1/ . ./ccicenv/pid_env设置编译环境以及编译参数:2/ make命令:MSM的make命令全都需要在源码根目录下执行,直接查找整个./build/core/目录会找到很多PHONY目标。简单介绍一部分如下:>>make droid默认的make对象,会编译整个Android系统>>make aboot编译bootload转载 2012-07-30 09:40:42 · 3029 阅读 · 0 评论 -
Android编译过程详解(一)
Android编译过程详解(一):http://www.cnblogs.com/mr-raptor/archive/2012/06/07/2540359.html Android编译过程详解(二):http://www.cnblogs.com/mr-raptor/archive/2012/06/08/2541571.html Android编译过程详解(三):http://ww转载 2012-07-28 18:18:02 · 787 阅读 · 0 评论 -
Android编译过程详解(二)
Android编译过程详解(一):http://www.cnblogs.com/mr-raptor/archive/2012/06/07/2540359.html Android编译过程详解(二):http://www.cnblogs.com/mr-raptor/archive/2012/06/08/2541571.html Android编译过程详解(三):http://ww转载 2012-07-28 18:18:41 · 1059 阅读 · 0 评论 -
Android Building System 分析(转)
标签:androidcorepackage变数makefileit 想要了解一個系統,我常會從 makefile或是 building system 下手,以了解系統組成元素為何? 目錄結構為何? 對於Android ,我也不例外。透過了解 building system,我們能知道如何新增、修改、刪除程式,並保有完整性,順利編譯出結果。转载 2012-07-28 18:17:26 · 558 阅读 · 0 评论 -
linux 顶层Makefile执行的流程
原文地址:顶层Makefile执行的流程">linux 顶层Makefile执行的流程作者:天涯孤舟1、make menuconfig# *DOCUMENTATION*# To see a list of typical targets execute "make help"# More info can be located in ./README# Comments i转载 2012-08-09 14:34:15 · 1193 阅读 · 0 评论 -
makefile详解 书写命令 十五
书写命令 ———— 每条规则中的命令和操作系统Shell的命令行是一致的。make会一按顺序一条一条的执行命令,每条命令的开头必须以[Tab]键开头,除非,命令是紧跟在依赖规则后面的分号后的。在命令行之间中的空格或是空行会被忽略,但是如果该空格或空行是以Tab键开头的,那么make会认为其是一个空命令。我们在UNIX下可能会使用不同的Shell,但是make的命令默认是被“转载 2012-07-31 18:52:27 · 453 阅读 · 0 评论 -
makefile详解 变量高级用法 追加变量值 override 十八
三、变量高级用法 这里介绍两种变量的高级使用方法,第一种是变量值的替换。 我们可以替换变量中的共有的部分,其格式是“$(var:a=b)”或是“${var:a=b}”,其意思是,把变量“var”中所有以“a”字串“结尾”的“a”替换成“b”字串。这里的“结尾”意思是“空格”或是“结束符”。还是看一个示例吧: foo := a.o b.o c.o转载 2012-07-31 18:54:03 · 729 阅读 · 0 评论 -
makefile详解 使用make更新函数库文件(结束) 二十六
使用make更新函数库文件 ——————————— 函数库文件也就是对Object文件(程序编译的中间文件)的打包文件。在Unix下,一般是由命令"ar"来完成打包工作。 一、函数库文件的成员 一个函数库文件由多个文件组成。你可以以如下格式指定函数库文件及其组成: archive(member) 这个不是一个命令,而一个目标和依赖的定义。一般来说转载 2012-08-01 08:59:57 · 514 阅读 · 0 评论 -
makefile详解 隐含规则 二十四
隐含规则 ———— 在我们使用Makefile时,有一些我们会经常使用,而且使用频率非常高的东西,比如,我们编译C/C++的源程序为中间目标文件(Unix下是[.o]文件,Windows下是[.obj]文件)。本章讲述的就是一些在Makefile中的“隐含的”,早先约定了的,不需要我们再写出来的规则。“隐含规则”也就是一种惯例,make会按照这种“惯例”心照不喧地来运行,那转载 2012-08-01 08:58:44 · 569 阅读 · 0 评论 -
makefile详解 多行变量 环境变量 目标变量 模式变量 十九
六、多行变量 还有一种设置变量值的方法是使用define关键字。使用define关键字设置变量的值可以有换行,这有利于定义一系列的命令(前面我们讲过“命令包”的技术就是利用这个关键字)。define指示符后面跟的是变量的名字,而重起一行定义变量的值,定义是以endef关键字结束。其工作方式和“=”操作符一样。变量的值可以包含函数、命令、文字,或是其它变量。因为命令需要以[T转载 2012-07-31 18:54:29 · 730 阅读 · 0 评论 -
makefile详解 嵌套执行make,定义命令包 十六
四、嵌套执行make 在一些大的工程中,我们会把我们不同模块或是不同功能的源文件放在不同的目录中,我们可以在每个目录中都书写一个该目录的Makefile,这有利于让我们的Makefile变得更加地简洁,而不至于把所有的东西全部写在一个Makefile中,这样会很难维护我们的Makefile,这个技术对于我们模块编译和分段编译有着非常大的好处。例如,我们有一个子目录叫subdir转载 2012-07-31 18:53:05 · 692 阅读 · 0 评论 -
makefile详解 自动推导 五
GNU的make很强大,它可以自动推导文件以及文件依赖关系后面的命令,于是我们就没必要去在每一个[.o]文件后都写上类似的命令,因为,我们的make会自动识别,并自己推导命令。只要make看到一个[.o]文件,它就会自动的把[.c]文件加在依赖关系中,如果make找到一个whatever.o,那么whatever.c,就会是whatever.o的依赖文件。并且 cc -c whatev转载 2012-07-31 18:46:52 · 536 阅读 · 0 评论 -
makefile详解 规则 二
make命令执行时,需要一个 Makefile 文件,以告诉make命令需要怎么样的去编译和链接程序。 首先,我们用一个示例来说明Makefile的书写规则。以便给大家一个感兴认识。这个示例来源于GNU的make使用手册,在这个示例中,我们的工程有8个C文件,和3个头文件,我们要写一个Makefile来告诉make命令如何编译和链接这几个文件。我们的规则是: 1)如果这个工程转载 2012-07-31 18:44:56 · 841 阅读 · 0 评论 -
makefile详解 函数 字符串 文件名 二十一
在Makefile中可以使用函数来处理变量,从而让我们的命令或是规则更为的灵活和具有智能。make所支持的函数也不算很多,不过已经足够我们的操作了。函数调用后,函数的返回值可以当做变量来使用。一、函数的调用语法 函数调用,很像变量的使用,也是以“$”来标识的,其语法如下: $(; ;) 或是 ${; ;} 这里,;就是函数名,转载 2012-08-01 08:56:56 · 437 阅读 · 0 评论 -
makefile详解 条件判断 二十
使用条件判断 —————— 使用条件判断,可以让make根据运行时的不同情况选择不同的执行分支。条件表达式可以是比较变量的值,或是比较变量和常量的值。 一、示例 下面的例子,判断$(CC)变量是否“gcc”,如果是的话,则使用GNU函数编译目标。 libs_for_gcc = -lgnu normal_libs = foo:转载 2012-08-01 08:56:08 · 893 阅读 · 0 评论