目录
效果展示
这里我添加了一行打印,然后点击模拟器中的应用,都会打印我添加的信息
实现步骤
1.编译Android源码
编译Android源码可以参考这篇文章:https://blog.csdn.net/learnframework/article/details/107887594
2.修改Framework Activity源码
我们在Android源码根目录,使用如下命令配置生成可以让Android Studio打开的项目
执行以下四条命令:
1.“. build/envsetup.sh” (source可以用 .代替,即". build/envsetup.sh")
2.“lunch”,并选择要编译的项目
3.“make idegen -j4” (这里的 -j4表示用 4线程来编译,可以不加)
4.“development/tools/idegen/idegen.sh” (报错find: ‘out/target/product/generic_x86_64/root/d’: Permission denied没有关系不影响ipr和iml文件生成)
然后我们就可以使用Android Studio打开项目了
接下来我们找到framework下的Activity代码
在onCreate方法中插入如下代码(注意尽量不要导包,编写完整的类名)
android.util.Log.i("itfitness", "Activity is onCreate");
3.编译修改后的代码
由于之前已经完整编译过一次了,这次不需要完整编译了,只需要编译framework即可,以此执行以下命令
make framework ANDROID_COMPILE_WITH_JACK=false
make systemimage ANDROID_COMPILE_WITH_JACK=false
emulator
模拟器启动后,点击模拟器上的应用,可以观察logcat的打印信息,如果出现了自己添加的信息,说明修改成功了