標籤:android 系統
刪除不使用的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
今天沒有時間搞了,下次再看具體做法。
Android 4.3 系統裁剪——刪除不使用的app及增加自己app