脚本目录位置

/home/zhangshuli/git2/vanzo_team/xulei/Mmx.py

在~/bin目录下,链接Mmx.py

ln -sf ~/git2/vanzo_team/xulei/Mmx.py mmx

这样就可已直接使用mmx了。mmx结果如下

 Contacts
Settings
Mms
Dialer
Phone
Music
Gallery2
Launcher3
Browser
Email
Keyguard
DocumentsUI
services
android.policy
SystemUI
SettingsProvider
framework
framework-res
DeskClock

如果你想添加自己的模块到mmx,可以进行如下操作

1)进入 ~/git2/vanzo_team/xulei/Mmx.py

2) 在如下内容中添加你的模块

module_info =[
["Contacts","packages/apps/Contacts", "com.android.contacts"],
["Settings","packages/apps/Settings", "com.android.settings"],
["Mms","packages/apps/Mms", "com.android.mms"],
["Dialer","packages/apps/Dialer", "com.android.dailer"],
["Phone","packages/apps/Phone", "com.android.phone"],
["Music","packages/apps/Music", "com.android.music"],
["Gallery2","packages/apps/Gallery2", "com.android.gallery2"],
["Launcher3","vendor/tmobile/apps/Trebuchet", "com.android.launcher3"],
["Browser","packages/apps/Browser", "com.android.browser"],
["Email","packages/apps/Email", "com.android.email"],
["Keyguard","frameworks/base/packages/Keyguard", "com.android.systemui"],
["DocumentsUI","frameworks/base/packages/DocumentsUI"],
["services","frameworks/base/services", "zygote"],
["android.policy","frameworks/base/policy", "zygote"],
["SystemUI","frameworks/base/packages/SystemUI", "com.android.systemui"],
["SettingsProvider","frameworks/base/packages/SettingsProvider", "zygote"],
["framework","frameworks/base", "zygote"],
["framework-res","frameworks/base/core/res", "zygote"],
["DeskClock","vanzo/packages/DeskClock", "com.android.deskclock"],
]

添加三条属性分别为

1:模块编译以后的名称(可以在Android.mk中差中LOCAL_PACKAGE_NAME )

2:模块的路径

3:模块的进程名(可以使用adb shell;ps | grep 模块关键字查询)

mmx 的使用有两点需要注意

1.mmx使用的项目,项目目录层次必须是/home/zhangshuli/PROJIEC/PROJICT/35m的层次结构,也就是必须是5层

2.根目录下必须有project.config文件(这个文件是使用do_pj下拉代码自动生成的,你也可以进行手动添加)内容如下

n320a-kewei-35m-ophone

所以,根据上面两条,如果你想在自己已有的项目中使用mmx,可以把你当前的项目放到

/home/username/**/**/  这样的目录结构下,然后添加project.config文件在根目录下就可以了

补充
mmx添加了另外一种编译方式
mmx 0:是常规模式./am xx mmm package/apps/Contacts方式编译
mmx -d 0:是./am xx make Contacts
第二种编译会检查模块依赖,编译时间较久,及时代码没有编译,使用第二种方式也可以编译模块。
类似以前的 r dr Contacts

mmx-编译脚本的更多相关文章

  1. SCons - 简单而强大的项目编译脚本

    N年前学的makefile,当时还勉强能写一些简单的工程编译,现在已经基本忘了.makefile确实编写复杂,而且平时也不是经常使用,容易忘记.偶识了scons,一切都变的简单了.最近研究了下scon ...

  2. Android系统编译脚本理解

    android源码编译步骤: 1. repo sync 代码(下载代码) 2.start branch(用哪个分支,git相关) 3. 到根目录(android目录) $cd android/ 4. ...

  3. FFmpeg示例程序合集-批量编译脚本

    此前做了一系列有关FFmpeg的示例程序,组成了<最简单的FFmpeg示例程序合集>,其中包含了如下项目:simplest ffmpeg player:                   ...

  4. Android NDK学习(二):编译脚本语法Android.mk和Application.mk

    一.Android.mk Android.mk分为一下几部分: LOCAL_PATH:= $(call my-dir), 返回当前文件在系统中的路径,Android.mk文件开始时必须定义该变量. i ...

  5. Powershell极速教程-如何在三分钟内编写项目编译脚本

    分析及思路 来看一下项目目录结构 炒鸡正常的三板斧src+docs+tests.咦,怎么会多出一个build的文件夹呢,这就是我们今天要研究的目录.今天我会带着大家在五分钟之内编写一个极简的编译脚本. ...

  6. Gradle Android最新自动化编译脚本教程

    转自:http://blog.csdn.net/changemyself/article/details/39927381 一.前言 Gradle 是以 Groovy 语言为基础,面向Java应用为主 ...

  7. Skia构建系统与编译脚本分析

    分析下Skia的构建系统,详细编译过程參看Windows下从源代码编译Skia.这里以ninja为例来分析.运行以下三条命令就能够完毕编译: SET "GYP_GENERATORS=ninj ...

  8. Gradle Android它自己的编译脚本教程的最新举措(提供demo源代码)

    一.前言 Gradle 是以 Groovy 语言为基础,面向Java应用为主.基于DSL(领域特定语言)语法的自己主动化构建工具. 上面这句话我认为写得非常官方,大家仅仅需知道Gradle能够用来an ...

  9. ffmpeg学习笔记-编译脚本

    之前已经用他人的编译脚本对ffmpeg进行了成功编译,那么在裁剪ffmpeg的时候需要指定文件,这时候应该怎么编写编译脚本呢?本文目的在于说明ffmpeg编译脚本的编写 首先在ffmpeg的目录下新建 ...

  10. SCons - 简单而强大的项目编译脚本(原文https://www.cnblogs.com/binchen-china/p/5646791.html)

    N年前学的makefile,当时还勉强能写一些简单的工程编译,现在已经基本忘了.makefile确实编写复杂,而且平时也不是经常使用,容易忘记.偶识了scons,一切都变的简单了.最近研究了下scon ...

随机推荐

  1. GOLANG 加密,解密,GUID 小方法

    golang的 MD5加密.BASE64解密  guid 的代码: /** * 用于加密,解密,(包含MD5加密和base64加密/解密)以及GUID的生成 * 时间: * zhifieya */ p ...

  2. MySQL Server 5.5.44免安装版配置详解

    转载地址:http://wenku.baidu.com/view/2a8bfe6a25c52cc58bd6beff.html### 一 下载MySQL http://dev.mysql.com/dow ...

  3. ZOJ 3435 Ideal Puzzle Bobble 莫比乌斯反演

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4119 依然是三维空间内求(1,1,1)~(a,b,c)能看到的整点数,平移一下 ...

  4. Python中import和from的一些事。。。

    摘自python学习手册, 用于记录. 客户端可以执行import或from语句.如果模块还没有加载,这两个语句会去搜索.编译以及执行模块文件程序.主要差别在于,import会读取整个模块,所以必须进 ...

  5. hdu 5312 Sequence(数学推导——三角形数)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5312 Sequence Time Limit: 2000/2000 MS (Java/Others)  ...

  6. JavaScript数组的某些操作(二)

    7.颠倒数组中元素的顺序(注意:不是为数组排序)--reverse方法 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona ...

  7. Java的线程机制

    一.Java中实现多线程的两种方式1) 继承Thread类 Thread类包括了包括和创建线程所需的一切东西. Thread 最重要的方法是 run().编写线程程序时须要覆盖 run() 方法,ru ...

  8. json和XML

    发请求(url) 1.client  ---------------->服务端                发送数据(Json/xml)                      < - ...

  9. ip6tables: ipv6-icmp vs icmp

    ip6tables: ipv6-icmp vs icmp资料来源 https://www.jethrocarr.com/2013/02/09/ip6tables-ipv6-icmp-vs-icmp/I ...

  10. 浏览器(BOM)对象的一些内置方法总结

    浏览器(BOM)对象的一些内置方法总结 一.总结 1.bom就是浏览器那端执行的代码,dom就是服务器那端操作html的代码 2.记好bom的几个对象,那就很好理解很多代码了,也很好写很多代码了 二. ...