Android 记录一些Framework开发的命令

源码编译流程

  1. "source build/envsetup.sh" (source可以用 . 代替,即". build/envsetup.sh")

  2. "lunch",并选择要编译的项目或者"choosecombo"

  3. "make idegen -j4" (这里的 -j4 表示用4线程来编译,可以不加)

  4. "development/tools/idegen/idegen.sh",并继续等待,这个过程可能比较长

完成以上四个步骤之后,会发现在源码根目录下出现了三个新的文件(也有可能是两个)

  1. android.iml (记录项目所包含的module、依赖关系、SDK版本等等,类似一个XML文件)

  2. android.ipr (工程的具体配置,代码以及依赖的lib等信息,类似于Visual Studio的sln文件)

  3. android.iws (主要包含一些个人的配置信息,也有可能在执行上述操作后没有生成,在打开过一次项目之后就会自动生成了)

在导入项目前,手动对"android.iml"文件进行一下修改,可以使我们导入的时间尽可能的缩短一些。


刷机后第一次需要执行:

adb root

adb disable-verity

adb reboot


SystemUI编译:

make SystemUI


SystemUI安装:

adb root

adb remount

adb push 本地SystemUI.apk地址 /product/priv-app/SystemUI

adb reboot (framework开发基本要开机重启才能起效)


如果编译framework-res.apk

adb push 本地framework-res.apk地址 /system/framework/framework-res.apk

相关推荐
古月-一个C++方向的小白1 小时前
MySQL数据库——数据类型
android·数据库·mysql
张小潇3 小时前
AOSP15 WMS/AMS系统开发 - WindowManagerService finishDraw与prepareSurface流程详解
android
帅次5 小时前
Modifier 链与顺序、测量与命中区域
android·kotlin·compose·modifier
leory5 小时前
请详细描述Handler消息机制的工作原理
android·面试
leory6 小时前
请描述Binder IPC的基本原理和工作流程
android·面试
leory6 小时前
View的事件分发机制是怎样的?dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent的关系?
android·面试
zander2586 小时前
Canal本地部署保姆级教程
android
小仙女喂得猪7 小时前
2026 Android 组件化项目的AICoding落地实践
android·kotlin·ai编程
leory7 小时前
请详细描述JVM的垃圾回收机制?
android·面试
leory7 小时前
volatile关键字的作用是什么?它能保证原子性吗?
android·面试