1.使用aidegen打开Launcher3项目
- 1.1 首先整个aosp源代码编译成功过,自然也就是编译成功了
aidegen
工具。Android10之后才有aidegen工具,之前还只是idegen工具相对难用点。 - 1.2 先cd来到源代码根目录下:
cd ~/aosp_10.0.0_r17
- 1.3 导入编译环境:
source build/envsetup.sh
- 1.4 选择编译目标:
lunch aosp_sailfish-userdebug
- 1.5 首次打开Launcher3项目:
aidegen packages/apps/Launcher3 -i s -p ~/Downloads/android-studio-2022.2.1.20-linux/android-studio/bin/
-i s
表示使用Android Studio
打开,-i c
表示使用Clion
打开,这个是用于c/cpp开发工具,-p 路径
表示指定Android Studio的安装路径
会提示:INFO: If you are sure the related modules and dependencies have been already built, please try to use commandaidegen packages/apps/Launcher3 -s
to skip the building process.
下次打开可以添加 -s 参数,表示skip忽略编译过程,因为首次打开已经编译过依赖了,下次打开就不用再费时间重新编译依赖了。
忽略编译打开项目命令:aidegen packages/apps/Launcher3 -s -i s -p ~/Downloads/android-studio-2022.2.1.20-linux/android-studio/bin/
2. 修改Launcher3项目源代码,这里以隐藏Google搜索栏为例
- 2.1 Android Studio打开项目之后,开发就和平时开发区别不大了,能搜索和跳转类、变量使用等等
- 2.2 修改代码如下截图,注掉掉qsb添加进来的代码即可
3. 独单编译Launcher3项目
- 3.1 编译Launcher3项目:
mmm packages/apps/Launcher3/:Launcher3QuickStep
使用
:Launcher3QuickStep
指定编译的是Launcher3QuickStep模块,Launcher3项目包含了Home Launcher2 Launcher3 Launcher3QuickStep
执行模块,我们使用的Launcher3QuickStep
模块
- 3.2 编译成功输出结果:
[100% 401/401] Install: out/target/product/sailfish/system/product/priv-app/Launcher3QuickStep
4. 独单安装Launcher3验证
- 验证修改结果:
adb install -r out/target/product/sailfish/system/product/priv-app/Launcher3QuickStep/Launcher3QuickStep.apk
adb install -r
表示替换安装该安装包
- 或者使用第二种验证方法,比较麻烦一点:
adb push out/target/product/sailfish/system/product/priv-app/Launcher3QuickStep/Launcher3QuickStep.apk system/system_ext/priv-app/Launcher3QuickStep/
然后adb reboot
重启设备
如果执行adb push失败,需要remount一下system区:
adb root、adb remount、adb disable-verity、adb reboot、adb root、adb remount
5. 整机编译验证
- 5.1 导入编译环境:
source build/envsetup.sh
- 5.2 选择编译目标:
lunch aosp_sailfish-userdebug
- 5.3 执行make编译:
make -j4
- 5.4 最好就是刷机:
fastboot flashall -w