Android编译环境,Build系统的学习总结

Android Build系统的介绍


Android build系统主要用于对手机系统二进制文件的编译,APK应用的编译,同时生成手机系统的镜像以及各种配置文件,同时,还要维护各个模块间的依赖关系,确保某个模块的修改能引起依赖的文件重新编译.
Android的Build系统可以分成三个大的模块:
       1.位于build/core目录下的文件,是Android Build系统的框架和核心.
       2.位于device目录下的文件,存放的是具体产品的配置文件.
       3.各个模块的编译文件:Android.mk,位于模块的源文件目录下.
通常,使用下面的命令来编译Android系统:

#source  build/envsetup.sh 
#lunch
#make
其中,第二条命令会打印出所有编译产品的选项.


编译环境的建立


执行Android系统编译,必须先执行build/envsetup脚本,这个脚本会建立Android的编译环境.在envsetup.sh文件中,定义了很多shell命令,这些shell命令在执行完envsetup脚本后可以直接使用.如下图:
function ggrep()
{
    find . -name .repo -prune -o -name .git -prune -o -name out -prune -o -type f -name "*\.gradle" -print0 | xargs -0 grep --color -n "$@"
}

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 "$@"
}

function cgrep()
{
    find . -name .repo -prune -o -name .git -prune -o -name out -prune -o -type f \( -name '*.c' -o -name '*.cc' -o -name '*.cpp' -o -name '*.h' \) -print0 | xargs -0 grep --color -n "$@"
}

function resgrep()
{
    for dir in `find . -name .repo -prune -o -name .git -prune -o -name out -prune -o -name res -type d`; do find $dir -type f -name '*\.xml' -print0 | xargs -0 grep --color -n "$@"; done;
}


Android常用的编译命令:

croot:   快速切换到源码的根目录

m:        编译整个源码,但不用将当前目录切换到源码根目录

mm:     编译当前目录下的所有模块,但是不编译他们的依赖模块

mmm:  编译指定目录下的所有模块,但是不编译他们的依赖模块.

mma:   编译当前目录下的所有模块,同时编译他们的依赖模块

mmma:编译指定目录下的所有模块,同时编译他们的依赖模块.


cgrep:     对系统所有的c/c++文件执行grep命令

ggrep:     对系统所有的grradle文件执行grep命令

jgrep:      对系统所有的Java文件执行grep命令

resgrep:  对系统所有的res目录下的文件执行grep命令

sgrep:     对系统所有的源文件执行grep命令

godir:      根据后面的参数在整个源码目录查找,然后切换到该目录


常用命令


实时 adb logcat -s CameraActivity
     logcat | grep CameraActivity
     logcat | grep Exception  GestureShot VoiceCapture
     AndroidRuntime
保存到文件:adb logcat -v time >d:log2.log

Linux查找字符串:grep -rn "TextAppearance.Material.Title" ./
查找文件:find . -name CellConnMgr.java

adb remount
查看内存使用情况:adb shell dumpsys meminfo com.android.gallery3d


通过adb命令录制屏幕视频:
(1). adb shell screenrecord /sdcard/sp.mp4 //设置录屏后得到的mp4文件路径或者手动设置录像的参数如下 
adb shell screenrecord --bit-rate 8000000 /sdcard/yourfilename.mp4 
(2). CTRL+C中止录屏 
(3). adb pull /sdcard/yourfilename.mp4 e:/localpath //从SD卡取回录制好的视频

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值