iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >单独编译Android 源代码中的模块实现方法
  • 677
分享到

单独编译Android 源代码中的模块实现方法

模块方法源代码Android 2022-06-06 07:06:19 677人浏览 独家记忆
摘要

      第一次下载好Android源代码工程后,我们通常是在Android源代码工程目录下执行make命令,经过漫长的等待

      第一次下载好Android源代码工程后,我们通常是在Android源代码工程目录下执行make命令,经过漫长的等待之后,就可以得到Android系统镜像system.img了。以后如果我们修改了Android源代码中的某个模块或者在Android源代码工程新增一个自己的模块,是不是还是执行make命令呢?答案是否定的,Google为我们准备了另外的命令来支持编译单独的模块,以及重新打包system.img的命令。在继续学习Android源代码之前,就让我们先来看看这个命令吧。

      一. 首先在Android源代码目录下的build目录下,有个脚本文件envsetup.sh,执行这个脚本文件后,就可以获得一些有用的工具:

      USER-NAME@MacHINE-NAME:~/Android$ .  ./build/envsetup.sh

      注意:这是一个source命令,执行之后,就会有一些额外的命令可以使用:


 - croot: Changes directory to the top of the tree.
 - 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.
 - cgrep: Greps on all local C/C++ files.
 - jgrep: Greps on all local Java files.
 - resgrep: Greps on all local res/*.xml files.
 - godir: Go to the directory containing a file.

 这些命令的具体用法,可以在命令的后面加-help来查看,这里我们只关注mmm命令,也就是可以用它来编译指定目录的所有模块,通常这个目录只包含一个模块。 

        二. 使用mmm命令来编译指定的模块,例如Email应用程序:

        USER-NAME@MACHINE-NAME:~/Android$ mmm packages/apps/Email/   

        编译完成之后,就可以在out/target/product/generic/system/app目录下看到Email.apk文件了。Android系统自带的App都放在这具目录下。另外,Android系统的一些可执行文件,例如C编译的可执行文件,放在out/target/product/generic/system/bin目录下,动态链接库文件放在out/target/product/generic/system/lib目录下,out/target/product/generic/system/lib/hw目录存放的是硬件抽象层(HAL)接口文件,后面的文章里面,我们会陆续提及到,敬请关注。 

       三. 编译好模块后,还要重新打包一下system.img文件,这样我们把system.img运行在模拟器上时,就可以看到我们的程序了。  

             USER-NAME@MACHINE-NAME:~/Android$ make snod  

      四. 参照Ubuntu上下载、编译和安装Android最新源代码一文介绍的方法运行模拟器:   

              USER-NAME@MACHINE-NAME:~/Android$ emulator

  这样一切就搞定了。

希望对研究Android 源码的小伙伴有所帮助!

您可能感兴趣的文章:Android内核源码 在ubuntu上下载,编译,安装Android源码 在Ubuntu上下载,编译和安装为Android的apk应用程序文件加壳以防止反编译的教程Android APK反编译图文教程Android开发apk反编译和二次打包教程Android应用程序的编译流程及使用Ant编译项目的攻略详谈Android编译命令从源码编译Android系统的Java类库和JNI动态库的方法利用源码编译Android系统的APK和可执行命令的方法使用Android studio创建的AIDL编译时找不到自定义类的解决办法Android 源码如何编译调试


--结束END--

本文标题: 单独编译Android 源代码中的模块实现方法

本文链接: https://www.lsjlt.com/news/24480.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue编译器实现代码生成方法介绍
    这里将讨论如何根据JavaScript AST生成渲染函数的代码,即代码生成。代码生成本质上是字符串拼接的艺术。需要访问JavaScript AST中的节点,为每一种类型的节点生成相...
    99+
    2023-01-05
    Vue代码生成 Vue代码生成方案
  • Android Studio中快捷键实现try catch等功能包含代码块的实现方法
     Android Studio中快捷键实现try catch等功能包含代码块1、windows系统下,只需选中需包含的代码块,按快捷键Ctry+Alt+T即可;2、Ubuntu下由于快捷键已经被占用,故需要自行重新设定,设定过程如...
    99+
    2023-05-30
    android studio 快捷键
  • 在Python反编译中批量pyc转 py的实现代码
    什么是pyc文件 pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有所提高,而且pyc是一种跨平台的字节码,...
    99+
    2024-04-02
  • Python中单例模式的实现方法
    单例 — 让 类 创建的对象,在系统中 只有唯一的一个实例; 1)、定义一个类属性,初始值是 None ,用于记录 单例对象的引用;2)、重写 new 方法;3)、如果 ...
    99+
    2024-04-02
  • 开源纯C#表达式编译器的实现方法是什么
    这篇文章主要讲解了“开源纯C#表达式编译器的实现方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“开源纯C#表达式编译器的实现方法是什么”吧!一、   引...
    99+
    2023-06-19
  • Android编程简单实现拨号器功能的方法
    本文实例讲述了Android编程简单实现拨号器功能的方法。分享给大家供大家参考,具体如下:学习Android已经有2天时间了,没学习的时候觉得android可能很枯燥,但是学过之后我发觉其实这个比什么javaweb好玩多了。学习androi...
    99+
    2023-05-30
    android 拨号器 roi
  • 使用Django实现商城验证码模块的方法
    本文主要涉及图形验证码的相关功能,主要包括,图形验证码获取、验证码文字存储、验证码生成等。 图形验证码接口设计和定义  验证码获取接口设计 uuid作为路径参数,唯一标识...
    99+
    2024-04-02
  • AngularJS中$http模块POST请求的实现方法
    小编给大家分享一下AngularJS中$http模块POST请求的实现方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、代码...
    99+
    2024-04-02
  • android屏幕圆角实现方法的示例代码
    现在很多全面屏手机的屏幕四角做成圆的,其圆润的感觉给人带来别样的视觉体验。先来一张我大锤子镇楼(不是广告呀,锤子没给钱),大家来直观感受一下圆角的魅力。锤子.jpg当然这种是硬件上实现的,我怀疑也是方的显示屏,然后做了个圆角遮蔽。那对于我们...
    99+
    2023-05-30
    android 屏幕 圆角
  • Python代码中引用已经写好的模块、方法的两种方式
    平时写的一些 Python 的代码,需要在其他模块里面复用。最粗狂的方法就是直接 copy 过去。 但这种方式太麻烦,copy 一堆代码,导致代码量也很多。copy 的也不爽。 下面...
    99+
    2024-04-02
  • 编程语言中如何利用构造方法实现模块的解耦
    编程语言中如何利用构造方法实现模块的解耦,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。解耦,不仅只是对程序的扩展性而言,它可能还是你使用你的程序从一个层面向另一个层面提高的基础...
    99+
    2023-06-17
  • JavaScript中实现异步编程模式的方法
    小编给大家分享一下JavaScript中实现异步编程模式的方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!JavaScript中实现异步编程模式的方法:1、回调函数,这是异步编程最基本的方法;2、事件监听;3、发布或订阅...
    99+
    2023-06-14
  • php json实现中文不编码的方法
    本篇内容主要讲解“php json实现中文不编码的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php json实现中文不编码的方法”吧!使用 php 自带的 json_encode 函数对...
    99+
    2023-06-20
  • Java GUI编程之贪吃蛇游戏简单实现方法【附demo源码下载】
    本文实例讲述了Java GUI编程之贪吃蛇游戏简单实现方法。分享给大家供大家参考,具体如下:例子简单,界面简陋 请见谅项目结构如下Constant.jvava 代码如下:package snake;public class Constant...
    99+
    2023-05-31
    java gui 游戏
  • Android实现IP地址输入框的方法示例代码
    前言本文主要给大家介绍了关于Android实现IP地址格式输入框的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。实现效果图:解决方案:      1.添加4个Ed...
    99+
    2023-05-30
    android ip地址 输入框
  • 在Android项目中实现底部菜单栏的方法
    在Android项目中实现底部菜单栏的方法?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。效果图:主要包括以下功能: 1 设置icon以及点击之后的icon 2 ...
    99+
    2023-05-31
    android roi 目中
  • 使用JS简单实现apply、call和bind方法的实例代码
    目录1.方法介绍2.apply、call和bind方法的实现2.1.apply的实现2.2.call的实现2.3.bind的实现总结1.方法介绍 apply、call和bind都是系...
    99+
    2024-04-02
  • Android中URL转换成二维码的实现方法
    这篇文章主要讲解了Android中URL转换成二维码的实现方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。二维码已经成为我们日常生活中的一个不可获取的产物,火车票上,景区门票,超市付款等等都会有二维码的身影。...
    99+
    2023-05-31
    url roi %d
  • DEMATEL-ISM模型的Python实现——方法介绍以及代码复现
    DEMATEL-ISM模型的Python实现——方法介绍以及代码复现 前言DEMATEL-ISM分析方法方法简介步骤明确系统要素确定直接影响矩阵规范影响矩阵计算综合影响矩阵计算各个要素的影响度...
    99+
    2023-09-06
    python 开发语言 人工智能
  • 在Python中实现单例模式的方法有哪些
    本篇内容主要讲解“在Python中实现单例模式的方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在Python中实现单例模式的方法有哪些”吧!单例模式(Singleton Pattern...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作