Android系统编译模块化

2023-11-03

mm指从当前目录开始编译,mmm是从指定目录下搜寻Android.mk编译。

模块编译完成后,回到source code所在根目录运行make snod进行打包。

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-4.3.1_r1

opcode-gen 目录里面有个指令映射表,说是添加指令就写在里面。 这只是个字符串对应的指令表,还要操作其他部分才行。

使用m、mm、mmm命令之前要在android源码目录下执行命令

. build/envsetup.sh

模块 make命令 mmm命令
init make init mmm system/core/init
zygote make app_process mmm frameworks/base/cmds/app_process
system_server make services mmm frameworks/base/services
java framework make framework mmm frameworks/base
framework资源 make framework-res mmm frameworks/base/core/res
jni framework make libandroid_runtime mmm frameworks/base/core/jni
binder make libbinder mmm frameworks/native/libs/binder
上述mmm命令同样适用于mm/mma/mmma,编译系统采用的是增量编译,只会编译发生变化的目标文件。当需要重新编译所有的相关模块,则需要编译命令后增加参数-B,比如make -B [module_name],或者 mm -B [module_path]。

. Dalvik 之编译
为了能够更方便的调试dalvik,我们需要编译一个在X86上运行的dalvik和相关工具。编译步骤如下:

首先进入到Android 源码根目录
source build/envsetup.sh (不是网上有些文章写的只输入 build/envsetup.sh)
lunch 2 在此之后可以看到TARGET_PRODUCT 为sim。TARGET_ARCH为x86
make 或者 make dalvikvm 和 make dexdump (make 为编译所有程序,比较耗时,有时甚至某些模块编译不过,如为节省时间,可使用make dalvikvm直接编译dalvik, make dexdump直接编译dexdump)

dalvik编译有一些其他路径的依赖项,必须使用mmma 加目录的形式才能编译。https://blog.csdn.net/virtualpower/article/details/5660966

http://gityuan.com/2016/03/19/android-build/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android系统编译模块化 的相关文章

  • WMS仓储管理系统在各种行业中,都有哪些作用

    由计算机控制的仓库管理系统的目的是独立实现仓储管理各种功能 收货 在正确的地点存货 存货管理 订单处理 分拣和配送控制 WMS仓储管理系统将关注的焦点集中于对仓储执行的优化和有效管理 同时延伸到运输配送计划 和上下游供应商客户的信息交互 从
  • python PDB调试

    1 python m pdb py 从第一行开始pdb调试 2 断点设置 在某一行插入 import pdb pdb set trace 3 常用命令 n ext 下一步 s tep 进入函数 c ontinue 继续到下一个断点 l is
  • 如何计算:结构体内存的大小(在结构体的考察中占据非常重要的地位)

    在之前的文章中 笔者就结构体的简单定义 初始化 等内容 进行了简单描述 但是 对于int double float char 等类型都有自己的大小 但是 对于一个结构体 它的大小该如何计算呢 确实是一个疑问 这个也是不少老铁 在刚学结构体时
  • Vinted、PoshMark、Carousell这些海外二手跨境电商平台如何运营?

    相信大家都知道 闲鱼 二手交易平台一般来说入驻成本低 运营操作简单 平台流量多 因此也非常适合小型卖家入驻 那么海外的 闲鱼 有哪些呢 如何运营 小编为大家找到了国外热门这些平台 有Vinted Facebook marketplace P
  • Excel实现数据项校验的功能---VBA的编写以及数据有效性的设置

    学习VBA的网址 VBA比较运算符 VBA教程 VBA在Excel中的应用 一 改变符合条件单元格的背景颜色 vba判断不是空 百度知道 测试文件 链接 http pan baidu com s 1o7QsCJo 密码 eni7 1 启用宏
  • 《精通direct3d图形及动画程序设计》学习(7)(2012年12月23日)

    8 1 深度测试 22 56
  • 峡谷之巅显示服务器更新,峡谷之巅更新最新资讯

    英雄联盟峡谷之巅第七赛季之前就结束了 目前这次赛季的结算奖励马上就要发放了 很多玩家还不清楚在哪领取 下面就来为大家详细的介绍一下领取地址 英雄联盟峡谷之巅第六赛季的奖励正式的公布了 这次只要排位赛胜场最多的2000名玩家就可以领取到奥术师
  • SpringMVC 中整合JSON、XML视图一

    原文地址 http blog csdn net ibm hoojo article details 6371647 SpringMVC中整合了JSON XML的视图 可以通过这些视图完成Java对象到XML JSON的转换 转换XML提供了
  • nrm安装后报错 require() of ES modules is not supported.

    报错如下 根据路径打开cli js文件 第九行使用 open 的是CommonJs 规范的包 现在 open v9 0 0 是 ES Module 版本的包 解决方法 npm install g nrm open 8 4 2 save
  • Java中的NIO和IO的比较

    java标准的I O中 提供了基于流的I O实现 即InputStream和OutputStream 这种基于流的实现以字节为单位处理数据 NIO在java 1 4中被纳入到了JDK中 与旧式的的基于流的I O相比 NIO是基于块的 以块为
  • java案例4:银行存取款的程序设计

    银行存取款的程序设计 用户在银行进行存款 取款 查询余额 编写一个账户类实现银行账户的概念 创建账户类的对象ba 假设账号为123456 初始余额为500元 实现向该账户存入1000元 再取出800元 分析 1 定义一个银行账户类 实现账户
  • Docker打包Springboot及查看日志的方法

    查看Docker容器中的日志信息 docker logs 容器名称 docker logs mynginx 打印容器中的日志信息并形成文件 docker logs mynginx cat 1 gt home myngnx log 进入容器操
  • 书写SQL必养成的好习惯

    前言 每一个好习惯都是一笔财富 本文分SQL后悔药 SQL性能优化 SQL规范优雅三个方向 分享写SQL的21个好习惯 1 写完SQL先explain查看执行计划 SQL性能优化 日常开发写SQL的时候 尽量养成这个好习惯呀 写完SQL后
  • 牛客刷题错题(二)——测试知识

    1 风险暴露又称风险曝光度 测量的是资产的整个安全性风险 某公司软件团队计划项目中采用20个可复用的构件 每个构件平均是100LOC Line of Code 源代码行数 本地每个LOC的成本是150元人民币 下面是该团队定义的一个项目风险
  • 印象笔记出现感叹号无法同步

    印象笔记出现感叹号无法同步 打开ie浏览器试试 我估计应该是和安全证书有关系 勾选客户端验证 点击局域网设置 勾选自动检测设置
  • 【多模态】20、OVR-CNN

    文章目录 一 背景 二 方法 2 1 学习 视觉 语义 空间 2 2 学习开放词汇目标检测 三 效果 论文 Open Vocabulary Object Detection Using Captions 代码 https github co
  • Java学习——面向对象编程思想

    目录 一 基本概念 二 面向对象与面向过程的区别 三 面向对象程序设计的类与对象 3 1 对象 3 2 类 四 面向对象的四大特征 4 1 抽象 4 2 继承 4 3 封装 4 4 多态 1 实现多态性的三种方式 2 重载 3 重写 4 接
  • JS 作用域,闭包,this

    作用域 闭包 this 3 1 面试题 1 this 的不同应用场景 如何取值 2 手写 bind 函数 3 实际开发中闭包的应用场景 举例说明 4 程序题 打印输出 for var i 0 i lt 10 i 1 setTimeout g
  • IO复用之select、poll、epoll

    select poll epoll区别 select poll epoll https www cnblogs com aspirant p 9166944 html select poll epoll整理 https www cnblog

随机推荐