zoukankan      html  css  js  c++  java
  • 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
    今天没有时间搞了。下次再看详细做法。

  • 相关阅读:
    python(day1-11)
    如何进行测试管理
    为什么你参加了那么多培训,却依然表现平平?
    数据库总结
    为何大量网站不能抓取?爬虫突破封禁的6种常见方法
    re--读书笔记【转】
    re--findall 【转】
    re--参考手册
    bs4--官文--遍历文档树
    rhel6+apache2.4+mysql5.7+php5.6部署LAMP架构
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/7040613.html
Copyright © 2011-2022 走看看