Android第一次修改Framework

目錄

效果展示

這里我添加了一行打印,然后點(diǎn)擊模擬器中的應(yīng)用,都會(huì)打印我添加的信息


實(shí)現(xiàn)步驟

1.編譯Android源碼

編譯Android源碼可以參考這篇文章:https://blog.csdn.net/learnframework/article/details/107887594

2.修改Framework Activity源碼

我們?cè)贏ndroid源碼根目錄,使用如下命令配置生成可以讓Android Studio打開的項(xiàng)目

執(zhí)行以下四條命令:
1.“. build/envsetup.sh” (source可以用 .代替,即". build/envsetup.sh")
2.“l(fā)unch”,并選擇要編譯的項(xiàng)目
3.“make idegen -j4” (這里的 -j4表示用 4線程來(lái)編譯,可以不加)
4.“development/tools/idegen/idegen.sh” (報(bào)錯(cuò)find: ‘out/target/product/generic_x86_64/root/d’: Permission denied沒(méi)有關(guān)系不影響ipr和iml文件生成)

然后我們就可以使用Android Studio打開項(xiàng)目了



接下來(lái)我們找到framework下的Activity代碼



在onCreate方法中插入如下代碼(注意盡量不要導(dǎo)包,編寫完整的類名)
android.util.Log.i("itfitness", "Activity is onCreate");
3.編譯修改后的代碼

由于之前已經(jīng)完整編譯過(guò)一次了,這次不需要完整編譯了,只需要編譯framework即可,以此執(zhí)行以下命令

make framework ANDROID_COMPILE_WITH_JACK=false
make systemimage ANDROID_COMPILE_WITH_JACK=false
emulator

模擬器啟動(dòng)后,點(diǎn)擊模擬器上的應(yīng)用,可以觀察logcat的打印信息,如果出現(xiàn)了自己添加的信息,說(shuō)明修改成功了


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容