Android 4.3 系統裁剪——刪除不使用的app及添加自己app


刪除不使用的apk

系統自帶的app位置是在/android4.3/packages/apps
以下是一些APP作用分析:

| |– BasicSmsReceiver
| |– Bluetooth (藍牙)
| |– Browser (瀏覽器)
| |– Calculator (計算器)
| |– Calendar (日歷)
| |– Camera (相機)
| |– CellBroadcastReceiver
| |– CertInstaller (在Android中安裝數字簽名。被調用)
| |– Contacts (撥號(調用)、聯系人、通話記錄)
| |– ContactsCommon
| |– DeskClock (桌面時鍾)
| |– Dialer
| |– Email (Email)
| |– Exchange
| |– Gallery (相冊。和Camera相似,多了列表)
| |– Gallery2
| |– HTMLViewer (瀏覽器附屬界面。被瀏覽器應用調用。同一時候提供存儲記錄功能)
| |– KeyChain
| |– Launcher2 (登陸啟動項,負責應用的調用)
| |– LegacyCamera
| |– Mms (?彩信業務)
| |– Music (音樂播放器)
| |– MusicFX
| |– Nfc
| |– OneTimeInitializer
| |– PackageInstaller (安裝、卸載程序的響應)
| |– Phone (電話撥號程序)
| |– PhoneCommon
| |– Protips
| |– QuickSearchBox
| |– Settings (開機設定,包括電量、藍牙、設備信息、界面、wifi等)
| |– SmartCardService
| |– SoundRecorder (錄音機。可計算存儲所需空間和時間)
| |– SpeechRecorder
| |– Stk
| |– Tag
| |– VideoEditor
| |– VoiceDialer (語音識別通話)

對於不須要的app,

/out/target/product/m801/system/app刪除相應apk。
到/packages/apps找到相應源代碼。改動.mk
然后又一次編譯。

下次抽時間琢磨一下:
SystemServer.java 刪除不須要的系統服務
init.rc 去除不須要依賴的程序
preload 屏蔽不須要的資源與類
google service
3d opengl、rendscript

增加自己定義的apk

有源代碼的

1 從/packages/app/calendar下復制Android.mk到自己項目里。並改動內容:

LOCAL_PACKAGE_NAME := AutoRun
AutoRun是自己的app的名字

這里寫圖片描寫敘述

2 改動/build/target/product/generic_no_telephony.mk,增加自己apk名字:

(android2.2版本號改動的是generic.mk)

把包括Android.mk的源代碼放到

android4.3/packages/apps

3 編譯

命令行到項目根文件夾,運行:

source build/envsetup.sh
choosecombo(選擇默認直接回車)
make -j2

也有說直接這樣。我沒有測試:

make clean
make
編譯完畢后,啟動虛擬機:
./emulator -avd androidname -system out/target/product/generic/system.img

單個模塊編譯的方法

$.build/envsetup.sh
mmm packages/apps/Contacts/ 演示樣例編譯聯系人
這時生成
out/target/product/generic/data/app/ContactsTests.apk
out/target/product/generic/system/app/Contacts.apk
make snod 又一次生成system.img

第三方apk編譯

使用yaffs2
今天沒有時間搞了。下次再看詳細做法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM