build/envsetup.sh
2016-05-12 14:56
555 查看
此脚本文件主要是在编译模块前用来加载编译过程中用到的命令、环境变量,包括一些基本函数,配置编译工具和路径,查找一些vendorsetup.sh文件并执行
一、初始化编译环境
1、在根目录下执行
2、选择一个编译项
full表示目标设备为Android的模拟器,官方解释为:fully configured with all languages,apps, input methods,全部的应用程序及语言,输入法等。后半部分eng表示带有调试功能的工程机。rlk6735_65t_c_m0是目标产品名字(target product),eng是编译类型(variant)。
3、编译单独模块
二、编译命令(要有Android.mk文件)
m 在当前代码树的顶层路径执行make命令,不管哪层路径都可以执行此命令
mm 在当前路径下执行make命令,当前路径如果是顶层,相当于全编,不包括它们的依赖文件
mmm 编译指定路径的全部文件,不包括它们的依赖文件(mmm packages/apps/Dialer/),用Tab键可以补全路径名称。
如果修改了资源文件,要加参数-B强制编译
如果要单独编译某个模块
不论采用何种编译方式,编译成功后都有如下类似日志
Install: out/target/product/rlk6580_we_c_m/system/priv-app/Dialer/Dialer.apk
建议使用mmm方式分模块编译,如果使用mm方式编译,就会删除system.img、ramdisk.img、userdata.img等IMG镜像文件,之后还用重新编译全部代码生成这些文件,非常耗时。
三、linux grep命令
grep:Global Regular Expression Print,表示全局正则表达式版本,用来进行文本搜索
jgrep:在java文件进行文本搜索
cgrep:在c/cpp/cc/h/hpp文件进行文本搜索
resgrep:在xml文件进行文本搜索,例如
function setpaths() function m() function mm() function mmm() function lunch() function jgrep() function cgrep() function resgrep()
一、初始化编译环境
1、在根目录下执行
source build/envsetup.sh
2、选择一个编译项
lunch,列举一项,此项编译成eng版本
full_rlk6735_65t_c_m0-eng
full表示目标设备为Android的模拟器,官方解释为:fully configured with all languages,apps, input methods,全部的应用程序及语言,输入法等。后半部分eng表示带有调试功能的工程机。rlk6735_65t_c_m0是目标产品名字(target product),eng是编译类型(variant)。
3、编译单独模块
mmm packages/apps/Dialer/
二、编译命令(要有Android.mk文件)
m 在当前代码树的顶层路径执行make命令,不管哪层路径都可以执行此命令
function m() { local T=$(gettop) local DRV=$(getdriver $T) if [ "$T" ]; then $DRV make -C $T -f build/core/main.mk $@ else echo "Couldn't locate the top of the tree. Try setting TOP." return 1 fi }
mm 在当前路径下执行make命令,当前路径如果是顶层,相当于全编,不包括它们的依赖文件
mmm 编译指定路径的全部文件,不包括它们的依赖文件(mmm packages/apps/Dialer/),用Tab键可以补全路径名称。
如果修改了资源文件,要加参数-B强制编译
mmm -B packages/apps/Dialer/
如果要单独编译某个模块
mmm packages/apps/Dialer:Dialer
不论采用何种编译方式,编译成功后都有如下类似日志
Install: out/target/product/rlk6580_we_c_m/system/priv-app/Dialer/Dialer.apk
建议使用mmm方式分模块编译,如果使用mm方式编译,就会删除system.img、ramdisk.img、userdata.img等IMG镜像文件,之后还用重新编译全部代码生成这些文件,非常耗时。
三、linux grep命令
grep:Global Regular Expression Print,表示全局正则表达式版本,用来进行文本搜索
jgrep:在java文件进行文本搜索
function jgrep() { find . -name .repo -prune -o -name .git -prune -o -name out -prune -o -type f -name "*\.java" -print0 | xargs -0 grep --color -n "$@" }
cgrep:在c/cpp/cc/h/hpp文件进行文本搜索
resgrep:在xml文件进行文本搜索,例如
resgrep 'xxx'或者
resgrep "xxx"
相关文章推荐
- UITableviewCell的花式操作
- NGUI实现小地图,人物图标不动,地图移动
- NGUI实现小地图 地图不动,人物图标动
- 低版本net项目使用ueditor 图片上传配置
- Failed to read auto-increment value from the storage engine in MySQL
- 关于UITableView界面刷新
- JS&CSS压缩工具YUICompressor
- iOS开发之基础视图—— UIAlertView
- [Servlet编程]Request,Response使用与码表原理
- RGMII布线指导 RGMII Layout Guide
- UICollectionView瀑布流
- 报错: The type ByteInputStream is not accessible due to restriction on required library
- 网店UI设计排版
- 读书笔记(UIKit性能优化解析和Block经典实用)(一)
- Handler+ExecutorService(线程池)+MessageQueue模式+缓存模式
- iOS 环信UI3.0集成中的问题
- 12RoundedTeamationBuilder
- iOS开发之基础视图—— UISlider
- 【Arduino官方教程第一辑】示例程序 4-3 数据图表
- quick 用系统浏览器打开url