Android源码开发之添加/删除系统应用

本文参考老罗的系统源代码情景分析中的1.5章节

http://0xcc0xcd.com/p/books/978-7-121-18108-5/c15.php

想要在源码基础上添加一个应用整体来说只需要两步

第一步,添加所需要的模块

第二步,在系统的mk文件(一般在device/qcom/***.mk)中添加对应模块

先来说说第一步:添加模块

模块下有四个文件夹

res文件夹:资源

src文件夹:Java源文件

Android文件:.mk文件

AndroidManifest文件:清单配置文件

res、src、清单配置文件无需多说,与平常的应用开发类似,就是多了一个mk文件,其内容如下

LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)

LOCAL_STATIC_JAVA_LIBRARIES := \
    android-support-v13 \
    android-support-v4 \

LOCAL_MODULE_TAGS := optional eng

LOCAL_SRC_FILES := $(call all-subdir-java-files)

LOCAL_PACKAGE_NAME := 模块名称,也是以后生成的apk的名称

LOCAL_CERTIFICATE := platform

include $(BUILD_PACKAGE)

第一步完成之后,就可以进行第二步

PRODUCT_PACKAGES += 模块名称

这样,一个完整的应用程序就添加进来了

这是添加应用的步骤,那么如果不想去编译一个apk怎么办呢,找到系统的mk文件,给注释掉

要改的路径在:android/device/qcom/common/base.mk

要改的字段名为:

PRODUCT_PACKAGES :

这样,如果不想让某个系统应用参与编译,只需要删除该字段中添加到 某个应用模块

#    FM2 \

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏耕耘实录

Linux(Centos7.4和RHEL7.4)环境下基于chrony的NTP服务器的构建

版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢

1081
来自专栏磨磨谈

Cephfs的快照功能

Cephfs的快照功能在官网都很少提及,因为即使开发了很多年,但是由于cephfs的复杂性,功能一直没能达到稳定,这里,只是介绍一下这个功能,怎么使用,并且建议...

1712
来自专栏潇涧技术专栏

Setting Up Environments on New Mac

JAVA_HOME=/Library/Java/JavaVirtualMachines/1.7.0_51.jdk/Contents/Home

992
来自专栏轻扬小栈

ubuntu debian 百度网盘的Python客户端 bypy

8804
来自专栏代码拾遗

SpringMVC 教程 - 异步请求

在Servlet容器中启动异步支持之后,controller的方法可以通过DeferredResult包装返回值来支持异步处理。例如:

2013
来自专栏乐沙弥的世界

Linux 6 下编译安装 PHP 5.6

2012
来自专栏青青天空树

springboot整合websocket(1)

  我们都知道http协议只能浏览器单方面向服务器发起请求获得响应,服务器不能主动向浏览器推送消息。想要实现浏览器的主动推送有两种主流实现方式:

1212
来自专栏菩提树下的杨过

log4j2 与 spring mvc整合

log4j2不仅仅是log4j的简单升级,而是整个项目的重构,官网地址:http://logging.apache.org/log4j/2.x/,大家可以从官网...

2521
来自专栏猿天地

Netty 实现简单的HTTP服务

本篇文章是Netty专题的第八篇,前面七篇文章如下: 高性能NIO框架Netty入门篇 高性能NIO框架Netty-对象传输 高性能NIO框架Netty-整合k...

3186
来自专栏aoho求索

Spring Cloud OpenFeign集成Protocol Buffer

在之前的文章中,我们介绍过基于Spring Cloud微服务架构,其中,微服务实例之间的交互方式一般为RESTful HTTP请求或RPC调用。Spring C...

1792

扫码关注云+社区

领取腾讯云代金券