Framework模块编译脚本利器
目录
一.编译介绍
编译方式一
编译方式二
二.编译脚本
三.push编译文件
一.编译介绍
android源码目录下的build/envsetup.sh文件,描述编译的命令
– m: Makes from the top of the tree.(编译所有的模块)
– mm: Builds all of the modules in the current directory.(编译当前目录下的模块,当前目录下要有Android.mk文件 )
– mmm: Builds all of the modules in the supplied directories.(编译指定路径下的模块,指定路径下要有Android.mk文件)
所以要想使用这些命令,首先需要在android源码根目录执行build/envsetup.sh 脚本设置环境。
下面举个例子说明,假设我要编译android下的\hardware\libhardware_legacy\power模块,当前目录为源码根目录,方法如下:
编译方式一
1、 build/envsetup.sh
2、lunch rk3576_userdebug
3、mmm hardware/libhardware_legacy/power/
编译方式二
1、 build/envsetup.sh
2、lunch rk3576_userdebug
3、cd hardware/libhardware_legacy/power/
4、mm
二.编译脚本
复制以下东西到txt后后缀改成.sh(注意source后面envsetup.sh路径对应)
#!/bin/bash
source ./build/envsetup.sh
lunch rk3576_userdebug
echo "start build android"
mmm packages/apps/Settings
echo "build success"
三.push编译文件
复制以下东西到txt后后缀改成.bat(注意根据实际情况替换)
adb root
adb remount
adb push \\172.17.98.200\xt\3576_dev\RK3576\out\target\product\rk3576_ebook\system_ext\priv-app\Settings\Settings.apk /system_ext/priv-app/Settings
adb push \\172.17.98.200\xt\3576_dev\RK3576\out\target\product\rk3576_ebook\system_ext\priv-app\Settings\oat\arm64\Settings.odex /system_ext/priv-app/Settings/oat/arm64
adb push \\172.17.98.200\xt\3576_dev\RK3576\out\target\product\rk3576_ebook\system_ext\priv-app\Settings\oat\arm64\Settings.vdex /system_ext/priv-app/Settings/oat/arm64
adb reboot
pause