您的位置:首页 > 移动开发

Android 4.3 系统裁剪——删除不使用的app及增加自己app

2015-06-12 14:04 661 查看

删除不使用的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

今天没有时间搞了,下次再看具体做法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: