您的位置:首页 > 产品设计 > UI/UE

关于build/envsetup.sh

2012-08-03 09:24 357 查看
下文转载至 Kimihong的博客 原文在
/article/9208199.html

这个文件在编译android系统时首先要执行一下,除了配置了android编译的环境外,在它代码的前几行可以看到这些文字:

Invoke ". build/envsetup.sh" from your shell to add the following functions to your environment:

- croot: Changes directory to the top of the tree.

- m: Makes from the top of the tree.

- mm: Builds all of the modules in the current directory.

- mmm: Builds all of the modules in the supplied directories.

- cgrep: Greps on all local C/C++ files.

- jgrep: Greps on all local Java files.

- resgrep: Greps on all local res/*.xml files.

- godir: Go to the directory containing a file.

以上几个命令也是本文主要说明。

在android源代码根目录下执行

# source /build/envsetup.sh 或者

#. ./build/envsetup.sh

后就可以使用croot/m/mm/mmm/cgrep/jgrep/resgrep/godir这几个在android源代码目录下编译和搜字符的命令;

1.croot 到android根目录下

#:~/MyAndroid$ cd frameworks/base/

#:~/MyAndroid/frameworks/base$ croot

#:~/MyAndroid$

2.m 编译android源代码 与make一样吧,还没试过

3.mm 编译当前目录下的所有模块,包括递归的目录,这个目录下的所包含Android.mk文件

4.mmm 编译当前目录下的模块,不包括其他目录,就这个目录下的Android.mk文件

#:~/MyAndroid$ mmm /packages/apps/Settings/ //模块编译Settings.apk

下面几个命令是对find + grep命令的组合包装

find搜索文件+grep使用正则表达式搜索文本,并把匹配的行打印出来

5.cgrep 在本地目录下的C/C++文件中搜索相应文本,并打印出来

#:~/MyAndroid/$ cgrep 'unsupported pixel format'

./device/samsung/crespo/libcamera/SecCamera.cpp:316: LOGE("unsupported pixel format\n");

6.jgrep 在本地目录下的Java文件中搜索相应文本,并打印出来

#:~/MyAndroid$ jgrep 'Set app display size: '

./frameworks/base/services/java/com/android/server/wm/WindowManagerService.java:6075: Slog.i(TAG, "Set app display size: " + mAppDisplayWidth

#:~/MyAndroid$

7.resgrep 在本地目录下的res/*.xml文件中搜索相应文本,并打印出来

#:~/MyAndroid/frameworks/base/packages/SystemUI$ resgrep 'status_bar_background'

./res/values-large/colors.xml:3: <drawable name="status_bar_background">#000000</drawable>

./res/layout-sw600dp/status_bar_notification_peek.xml:37: android:background="@drawable/status_bar_background"

./res/layout-sw600dp/status_bar.xml:22: android:background="@drawable/status_bar_background"

./res/values-sw600dp/colors.xml:3: <drawable name="status_bar_background">#000000</drawable>

./res/values/colors.xml:24: <drawable name="status_bar_background">#ff000000</drawable>

./res/layout/status_bar.xml:25: android:background="@drawable/status_bar_background"

#:~/MyAndroid/frameworks/base/packages/SystemUI$

8.godir 定位到包含某文件的目录

#:~/MyAndroid$ godir envsetup.sh

Creating index... Done

#:~/MyAndroid/build$
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: