Android的编译

Android  2024年4月30日 pm6:16发布7个月前更新 城堡大人
161 0 0

前言

本文主要是摘抄关于Android编译。虽然都用过,但偶尔还是记不住。摘抄于此,方便自己查阅。

主要涉及makemmmmm等。

正文

在Android源码目录下执行

source build/envsetup.sh

执行完上面的后

lunch 95

我这里是加载编译目标为95,具体看你选择选择编译目标。

如果不知道lunch哪一个,可以先执行lunch,后面会有选项让你选择哪个编译目标。

完整编译

make

# 同时运行8个job,这样可以加快编译
make -j8

单独编译

这里以编译MediaProvider为例。

方式一
make 模块名
make MediaProvider

会把该模块依赖的其他模块也一起编译。

方式二
mmm 指定模块名的目录

比如

mmm packages/providers/MediaProvider

该命令将编译指定目录下的目标模块,而不编译它所依赖的模块。

所以,如果是初次编译,采用这种方式编译一个模块往往会报错。错误的原因是因为它依赖的模块没有被编译。

方式三
mm

这种事需要进入模块下目录,比如MediaProvider,需要进入packages/providers/MediaProvider目录下,然后执行mm即可。

它和mmm一样,只编译目标模块,mm和mmm命令编译的速度都很快。

注意事项

一般的编译方式都使用增量编译,即只编译发生变化的目标文件,但有时则需重新编译所有目标文件,那么就可使用make命令的-B选项。

例如make -B 模块名,或者mm -B、mmm -B,在mm和mmm内部,也是调用make命令的,而make的-B选项将强制编译所有目标文件。

参考文章

  1. 笔记二--Android的编译

 历史上的今天

  1. 2023: AccessibilityService使用(2条评论)
  2. 2023: Android 内存优化等记录(0条评论)
  3. 2023: Java反射记录(0条评论)
  4. 2020: Only the original thread that created(0条评论)
版权声明 1、 本站名称: 笔友城堡
2、 本站网址: https://www.biumall.com/
3、 本站部分文章来源于网络,仅供学习与参考,如有侵权,请留言

暂无评论

暂无评论...

随机推荐

Android Studio‘Library projects cannot set applicationId’

前言Library projects cannot set applicationId. applicationId is set to 'com.biumall.usercenter' in default config.摘抄于此,方便自己查阅。正文动态配置module时,当前设置为l...

Android消息机制之一基础简介(1)

在项目中,使用Handler是比较多的,延迟处理信息啊,或者跨线程刷新UI界面啊等.用大家都会用,但要用好,或许只能多看看源码和跟大牛们学习学习了.Handler.java,Looper.java,Message.java,MessageQueue.java这几个类主要是在/frameworks/...

Android换肤之Toast和Dialog

前言前面介绍过Android静态换肤日夜模式的切换(原文:《Android静态换肤-日夜主题切换之继承Activity记录 》),从中我们知道,Toast和Dialog存在无法切换成功。原因是Toast或者Dialog是需要时才去初始化的,此时换肤插件没法获取到View。PS:日夜模式不存在...

《MySQL基础教程》笔记7

前言主要是记录一下join和where等命令的使用。根据《MySQL基础教程-西泽梦路》学习,简单的做一下笔记。记录于此,方便自己回忆。正文我这以Window版的phpstudy软件验证。需要进入这个目录,才可以使用mysql命令D:\phpstudy_pro\Extensions\M...

Thread.join()简单介绍

前言简单记录一下Thread.join()的作用。这里只是简单记录一下,方便自己回顾而已。正文join()是在Thread.java中定义join源码/** * Waits for this thread to die.[等待这个线程死亡] * @throws Interrupt...

Android Switch简介

前言Android中的Switch控件很使用,比如WiFi开关等。Switch可以提供切图,也可以自定义属性。本文就是主要介绍自定义。记录一下,方便自己查阅和回顾。正文activity_main.xml<Switch   style="@style/Widget.AppComp...