刪除不使用的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
今天沒有時間搞了。下次再看詳細做法。