今天接到一个需求,IPTV无论任何地方按“首页”键都返回到首页。
这个改动就会需要动到安卓源码framework层。我这个项目的路径是
Y:\guizhou\hisi4.4_379x\frameworks\base\policy\src\com\android\internal\policy\impl,文件是PhoneWindowManager.java。
1、整包编译的方法如下:
改好后,就进行编译;
先对大包进行编译:source build/envsetup.sh-->lunch-->选择Hi3798MV100-eng-->make bigfish -j64。等20分钟左右就将大包编译完成。
2、对framework进行部分编译:改好代码后。
- mmm 编译
mmm 命令只能编译有 Android.mk 文件的目录,并且它有个特点,我称之为最小单位编译,什么意思呢,就是最小单位编译咯。。。
啊,,,啊,壮士,请放下你手中愤怒的西瓜刀!!!听我解释…
所谓最小单位编译,就是如果你改了一个目录的代码,比如修改了 android/frameworks/base/core/res/res/layout/ 目录下的布局文件,而该路径中,base/ 目录和第一个 res/ 目录都包含 Android.mk 文件,这个时候,你必须编译 res/ 目录,命令如下:
mmm frameworks/base/policy。
编译完成后就会在Y:\guizhou\hisi4.4_379x\out\target\product\Hi3798MV100\system\framework路径下找到编译好的android.policy.jar。
然后将android.policy.jar推到安卓终端。命令如下:
adb connect 192.168.76.6:30016---连接终端;
adb remount----获得写入读写权限;
adb push Y:\guizhou\hisi4.4_379x\out\target\product\Hi3798MV100\system\framework\android.policy.jar
/system/framework -----将jar文件push入终端。
sync--sync命令则可用来强制将内存缓冲区中的数据立即写入磁盘中。
reboot--重启终端。
完成。