前言
本文主要是摘抄关于Android的编译。虽然都用过,但偶尔还是记不住。摘抄于此,方便自己查阅。
正文
在Android源码目录下执行
source build/envsetup.sh
执行完上面的后
lunch 95
我这里是加载编译目标为95,具体看你选择选择编译目标。
如果不知道lunch哪一个,可以先执行lunch,后面会有选项让你选择哪个编译目标。
完整编译
make # 同时运行8个job,这样可以加快编译 make -j8
单独编译
这里以编译MediaProvider为例。
方式一
make 模块名
make MediaProvider
会把该模块依赖的其他模块也一起编译。
方式二
mmm 指定模块名的目录
比如
mmm packages/providers/MediaProvider
该命令将编译指定目录下的目标模块,而不编译它所依赖的模块。
所以,如果是初次编译,采用这种方式编译一个模块往往会报错。错误的原因是因为它依赖的模块没有被编译。
方式三
mm
这种事需要进入模块下目录,比如MediaProvider,需要进入packages/providers/MediaProvider目录下,然后执行mm即可。
它和mmm一样,只编译目标模块,mm和mmm命令编译的速度都很快。
注意事项
一般的编译方式都使用增量编译,即只编译发生变化的目标文件,但有时则需重新编译所有目标文件,那么就可使用make命令的-B选项。
例如make -B 模块名,或者mm -B、mmm -B,在mm和mmm内部,也是调用make命令的,而make的-B选项将强制编译所有目标文件。
参考文章
-
《
历史上的今天
暂无评论...
随机推荐
席慕蓉:无怨的青春
在年轻的时候,如果你爱上了一个人,请你,请你一定要温柔地对待他。不管你们相爱的时间有多长或多短,若你们能始终温柔地相待,那么,所有的时刻都将是一种无瑕的美丽。若不得不分离,也要好好地说声再见,也要在心里存着感谢,感谢他给了你一份记忆。长大了以后,你才会知道,在蓦然回首的刹那,没有怨恨的青春才会...
Java反射记录
前言反射机制是运行程序运行过程中操作(访问和修改)类的各种属性以及方法。正文作用判断任意一个对象所属的类构造任意一个类的对象判断任意一个类所具有的成员变量和方法(包括private)调用任意一个对象的方法缺点不断地生成变量,不断的GC,影响性能参考文章
周国平:爱的距离
好的爱情有韧性,拉得开,但又扯不断。相爱者互不束缚对方,是他们对爱情有信心的表现。谁也不限制谁,到头来仍然是谁也离不开谁,这才是真爱。要亲密,但不要无间。人与人之间必须有一定的距离,相爱的人也不例外。婚姻之所以容易终成悲剧,就因为它在客观上使得这个必要的距离难以保持。一旦没有了距离,分寸感便丧失。...
李娟:属于我的马
有一个人欠了我家很多钱,现在却死了。按当地穆斯林的礼性,不还清生前的债务是不可入葬的。葬礼上,阿訇会询问死者亲属:“此人生前亏欠过别人的财物吗?”得到否定的回答后才会继续为死者念经。但他的家人实在拿不出钱来偿还,情急之下,只好把自家的一匹马牵来见我妈,要求抵债。我妈很为难,打电话同我商量该怎么办...
付志勇:故乡
魂牵梦绕的故乡常被我瘦弱的文字描绘成梦中的新娘 带着他简单的行囊夜夜步入我的心房与我一诉衷肠 而今我走在陌生的路上故乡成为我真实的阳光恬静地照耀我的天空让我不再感到山高水远不在犹豫彷徨幸福春天一样抵达身旁
RecyclerView的简单实用
RecyclerVier简介RecyclerView是Android一个更强大的控件,其不仅可以实现和ListView同样的效果,还有优化了ListView中的各种不足。其可以实现数据纵向滚动,也可以实现横向滚动(ListView做不到横向滚动)。添加RecyclerView 依赖库 ...