如何单独编译Android源代码中的模块

 我来答
huanglenzhi
推荐于2016-07-10 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517199
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部
  1.make 模块名称
  需要查看Android.mk文件的LOCAL_PACKAGE_NAME变量。
  2.mmm命令
  用于在源码根目录编译指定模块,参数为模块的相对路径。只能在第一次编译后使用。比如要编译Phone部分源码,需要在终端中执行以下命令:
  $mmm packages/apps/phone
  3.mm命令
  用于在模块根目录编译这个模块。只能在第一次编译后使用。例如要编译Phone部分源码,需要在终端中执行以下命令:
  $cd packages/apps/phone
  $mm
  注:mmm和mm命令必须在执行“.build/envsetup.sh”之后才能使用,并且只编译发生变化的文件。如果要编译模块的所有文件,需要-B选项,例如mm -B。
茶达人
2016-01-14 · TA获得超过3048个赞
知道大有可为答主
回答量:3838
采纳率:66%
帮助的人:245万
展开全部
  Android源码目录下的build/envsetup.sh文件,描述编译的命令

  - m: Makes from the top of the tree.

  - mm: Builds all of the modules in the current directory.

  - mmm: Builds all of the modules in the supplied directories.

  要想使用这些命令,首先需要在android源码根目录执行. build/envsetup.sh 脚本设置环境

  m:编译所有的模块

  mm:编译当前目录下的模块,当前目录下要有Android.mk文件

  mmm:编译指定路径下的模块,指定路径下要有Android.mk文件

  下面举个例子说明,假设我要编译android下的\hardware\libhardware_legacy\power模块,当前目录为源码根目录,方法如下:

  1、. build/envsetup.sh

  2、mmm hardware/libhardware_legacy/power/

  编译完后 运行 make snod

  会重新将你改过的模块打入到system.img中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式