Ahao's Technical Blog Ahao's Technical Blog
首页
  • 001.基础篇
  • 002.玩转AOSP篇
  • 003.学穿Binder篇
  • 004.基础组件篇
  • 005.系统启动过程分析
  • 006.Hal开发入门与实践
  • 007.显示系统
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

阿豪讲Framework

不积跬步无以至千里
首页
  • 001.基础篇
  • 002.玩转AOSP篇
  • 003.学穿Binder篇
  • 004.基础组件篇
  • 005.系统启动过程分析
  • 006.Hal开发入门与实践
  • 007.显示系统
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 基础篇

  • 玩转AOSP篇

    • 001.AOSP 极速上手
    • 002.Android 系统开发工具推荐
    • 003.添加 Product
    • 004.添加可执行程序
    • 005.添加 C/C++、Java 库
    • 006.添加配置文件与删除已有模块
      • 1. 添加配置文件
      • 2. 删除已有模块
      • 参考资料
    • 007.玩转 AOSP 之系统 App 源码添加
    • 008.使用 Android Studio 开发系统 App
    • 009.SeAndroid 使用极速上手
    • 010.添加开机自启动 Shell 脚本
    • 011.如何阅读 Android 系统源码 —— C/C++ 篇
    • 012.如何阅读 Android 系统源码 —— Java 篇
    • 013.系统开发专用版 Android Studio 上手指南
    • 014.Repo 使用入门
    • 015.Android14 Native 图形化调试上手
    • 016.2025 Android Studio For Platform 上手指南
  • 学穿Binder篇

  • 基础组件篇

  • 系统启动过程分析

  • Hal开发入门与实践

  • 显示系统

  • Framework
  • 玩转AOSP篇
阿豪
2023-07-05
目录

006.添加配置文件与删除已有模块

# 1. 添加配置文件

PRODUCT_COPY_FILES 常用于产品的配置文件中,在本文中就是 Rice14.mk 文件,用于将源码的文件拷贝到 Android 文件系统中。

这里看一个源码中的示例:

aosp/build/target/product/core_64_bit.mk 中有如下内容:

PRODUCT_COPY_FILES += system/core/rootdir/init.zygote64_32.rc:system/etc/init/hw/init.zygote64_32.rc
1

这一行表示将源码中的 system/core/rootdir/init.zygote64_32.rc 拷贝到 Android 文件系统的 system/etc/init/hw/init.zygote64_32.rc 文件中。

init.zygote64_32.rc 是 init 程序使用的一个配置文件,当我们的程序需要配置文件时,也可以参考以上的方式来完成。

# 2. 删除已有模块

有的时候,我们需要删除系统中已有的模块,比如我们系统的应用场景是广告牌、电视,那我们就需要删除电话,通信录等应用。下面以删除通信录(Contacts)为例,演示如何操作:

# 在源码的 build 目录下
grep -r "Contacts" .
./make/target/product/handheld_product.mk:    Contacts \
./make/target/product/mainline_arm64.mk:  system/priv-app/Contacts/Contacts.apk \
./make/target/product/base_system.mk:    ContactsProvider \
./make/core/build-system.html:Dialer, Contacts, etc.  This will probably change or go away when we switch
1
2
3
4
5
6

在源码的 build 目录下的 ./make/target/product/handheld_product.mk 中删除 PRODUCT_PACKAGES 变量的 Contacts

接着重新编译启动模拟器:

source build/envsetup.sh
lunch Rice14-eng
make clean
make -j16
emulator
1
2
3
4
5

可以看到,Contacts 应用已经没有了:

# 参考资料

  • How to include prebuilt library in Android.bp file? (opens new window)
  • Android系统开发入门-5.添加预编译模块 (opens new window)
  • Android系统开发入门-6.删除Android原生内置APK (opens new window)
  • Android.bp 文件中引入aar、jar、so库正确编译方法(值得收藏) (opens new window)
  • 在AOSP中添加jar包和aar包依赖 (opens new window)
005.添加 C/C++、Java 库
007.玩转 AOSP 之系统 App 源码添加

← 005.添加 C/C++、Java 库 007.玩转 AOSP 之系统 App 源码添加→

最近更新
01
如何调试 SurfaceFlinger
10-05
02
SurfaceFlinger 概述
10-05
03
HWC 接口分析
10-05
更多文章>
Theme by Vdoing | Copyright © 2020-2025 AHao Framework | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式