首页 > 其他分享 >Android 编译模块

Android 编译模块

时间:2024-04-08 14:46:50浏览次数:19  
标签:mm mmm 编译 模块 根目录 Android

https://blog.csdn.net/weixin_40557160/article/details/130481613

1.整编

source build/envbuild.sh
lunch xxx
make

2.单独编译模块(最好先整编一次)

2.1 去Android.bp 中找模块名

比如我想编译system/core/fastboot,那么我就去找这个路径下的Android.bp/ Android.mk
Android.bp 中找每个模块的name就行
在这里插入图片描述
然后直接make这个name

make fastboot_test 2>&1 | tee fastboot.log
  • 1

结果:
在这里插入图片描述

2.2 Android.mk中找模块名

在这里插入图片描述

LOCAL_PACKAGE_NAME := Cit

在根目录下:

 make Cit 2>&1 
  • 1

在这里插入图片描述

2.3 mm/mmm

mmm命令

用于在源码根目录编译指定模块,参数为模块的相对路径。只能在第一次编译后使用。比如要编译Phone部分源码,需要在终端中执行以下命令:

mmm packages/apps/phone 
  • 1

mm命令

用于在模块根目录编译这个模块。只能在第一次编译后使用。例如要编译Phone部分源码,需要在终端中执行以下命令:

$cd packages/apps/phone  
  • 1
$mm 
  • 1

但是这种方式不适合上面那种Android.bp 中 只有name的模块。

2.4 实例

没执行,mm 需要先cd 到模块目录下,然后直接mm就可以。
mmm 在根目录下 后面接模块路径。

所以还是需要去模块根目录使用mm!
在这里插入图片描述

在这里插入图片描述

mmm 接路径名
mmm system/core/fastboot/ 2>&1 | tee fastboot.log

标签:mm,mmm,编译,模块,根目录,Android
From: https://www.cnblogs.com/bluestorm/p/18121103

相关文章

  • BOSHIDA DC电源模块的调试和故障排除技巧
    BOSHIDADC电源模块的调试和故障排除技巧下面是DC电源模块调试和故障排除的一些技巧: 1.确保输入电源稳定:首先要确保输入电源的稳定性,使用稳压器、滤波器等装置来保持输入电压的稳定。2.检查输出电压:使用万用表或示波器检查输出电压是否达到预期值。如果输出电压不正常,可能......
  • Android的CameraX获得相机支持分辨率的方法
    如题,方法如下:androidx.camera.core.Cameracamera1=cameraProvider.bindToLifecycle(/*lifecycleOwner=*/this,cameraSelector,analysisUseCase);Camera2CameraInfocamera2Info=Camera2CameraInfo.from(camera1.getCameraInfo());Size[]size=cam......
  • python进阶之tkinter模块
    tkinter 是Python的标准图形用户界面(GUI)工具包,用于创建桌面应用程序的用户界面。tkinter 提供了一组丰富的组件和工具,使开发者能够轻松地构建具有按钮、标签、文本框、滚动条等元素的交互式应用程序。以下是 tkinter 模块的一些主要作用:创建窗口:tkinter 提供了创建窗口......
  • python计算机毕设【附源码】基于Android开发的智能音乐播放系统(django+mysql+论文)
    本系统(程序+源码)带文档lw万字以上  文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:随着移动互联网的飞速发展,智能手机已经成为人们日常生活中不可或缺的一部分。在众多手机应用中,音乐播放系统是用户使用频率较高的应用之一。传统的音乐播放......
  • Android开发基础:AdapterView类视图控件的使用,Fragment,ViewPager2视图控件的使用
    目录一,Adapter1.什么是Adapter? 2.Android中的常用Adapter二,AdapterView1.AdapterView简介 2.AdapterView的子视图对象 三,ListView滑动列表形式四,GridView网格形式显示 五,Fragment和ViewPager2视图控件的使用1.什么是Fragment?2.ViewPager23.TabLayout+ViewPage......
  • destoon复制新模块的方法
    在destoon的实际使用过程中我们往往需要根据情况建立一些系统没有的模块,这时候就需要复制已有的模块来根据已有模块建立新的模块,具体操作方法如下:首先选择一个我们需要的模块(因为系统默认文章和信息模块是可以复制的,在这里我们只研究非默认的模块怎么复制),我选择的是模块名称是品......
  • 魅蓝note6 Android 7安卓Magisk
    概览用来刷机的魅蓝note6,刷入了Flyme7国际版,为了保证系统的流畅性,没有刷入更高版本的系统,于是该设备的android版本为7,在安装Magisk后是没办法加载LSPosed模块的,后面安装了LineageOS升级Android到了11,成功安装好了Magisk。安装Magisk魅蓝note6解锁bootloader,Meizu/魅蓝Note6(......
  • 震撼!这个Python模块竟然能自动修复代码!
    说到Python的强大的地方,那真的是太多了,优雅、简洁、丰富且强大的第三方库、开发速度快,社区活跃度高等,所以才使得Python才会如此的受欢迎。今天给大家介绍一个特别暴力的Python库:FuckIt,1、FuckIt介绍FuckIt是一个Python实用工具,用于解决由于Python代码出错而导致的运行异常或......
  • Swoole 源码分析之 Timer 定时器模块
    原文首发链接:Swoole源码分析之Timer定时器模块大家好,我是码农先森。引言Swoole中的毫秒精度的定时器。底层基于epoll_wait和setitimer实现,数据结构使用最小堆,可支持添加大量定时器。在同步IO进程中使用setitimer和信号实现,如Manager和TaskWorker进程,在异步IO......
  • std::format 如何实现编译期格式检查
    C++20的std::format是一个很神奇、很实用的工具,最神奇的地方在于它能在编译期检查字符串的格式是否正确,而且不需要什么特殊的使用方法,只需要像使用普通函数那样传参即可。#include<format>inta=1;std::strings1=std::format("a:{}",a);//OKstd::strings2=s......