mmx-编译脚本
脚本目录位置
/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
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-编译脚本的更多相关文章
- SCons - 简单而强大的项目编译脚本
N年前学的makefile,当时还勉强能写一些简单的工程编译,现在已经基本忘了.makefile确实编写复杂,而且平时也不是经常使用,容易忘记.偶识了scons,一切都变的简单了.最近研究了下scon ...
- Android系统编译脚本理解
android源码编译步骤: 1. repo sync 代码(下载代码) 2.start branch(用哪个分支,git相关) 3. 到根目录(android目录) $cd android/ 4. ...
- FFmpeg示例程序合集-批量编译脚本
此前做了一系列有关FFmpeg的示例程序,组成了<最简单的FFmpeg示例程序合集>,其中包含了如下项目:simplest ffmpeg player: ...
- Android NDK学习(二):编译脚本语法Android.mk和Application.mk
一.Android.mk Android.mk分为一下几部分: LOCAL_PATH:= $(call my-dir), 返回当前文件在系统中的路径,Android.mk文件开始时必须定义该变量. i ...
- Powershell极速教程-如何在三分钟内编写项目编译脚本
分析及思路 来看一下项目目录结构 炒鸡正常的三板斧src+docs+tests.咦,怎么会多出一个build的文件夹呢,这就是我们今天要研究的目录.今天我会带着大家在五分钟之内编写一个极简的编译脚本. ...
- Gradle Android最新自动化编译脚本教程
转自:http://blog.csdn.net/changemyself/article/details/39927381 一.前言 Gradle 是以 Groovy 语言为基础,面向Java应用为主 ...
- Skia构建系统与编译脚本分析
分析下Skia的构建系统,详细编译过程參看Windows下从源代码编译Skia.这里以ninja为例来分析.运行以下三条命令就能够完毕编译: SET "GYP_GENERATORS=ninj ...
- Gradle Android它自己的编译脚本教程的最新举措(提供demo源代码)
一.前言 Gradle 是以 Groovy 语言为基础,面向Java应用为主.基于DSL(领域特定语言)语法的自己主动化构建工具. 上面这句话我认为写得非常官方,大家仅仅需知道Gradle能够用来an ...
- ffmpeg学习笔记-编译脚本
之前已经用他人的编译脚本对ffmpeg进行了成功编译,那么在裁剪ffmpeg的时候需要指定文件,这时候应该怎么编写编译脚本呢?本文目的在于说明ffmpeg编译脚本的编写 首先在ffmpeg的目录下新建 ...
- SCons - 简单而强大的项目编译脚本(原文https://www.cnblogs.com/binchen-china/p/5646791.html)
N年前学的makefile,当时还勉强能写一些简单的工程编译,现在已经基本忘了.makefile确实编写复杂,而且平时也不是经常使用,容易忘记.偶识了scons,一切都变的简单了.最近研究了下scon ...
随机推荐
- centos 6.5搭建Samba
Samba共享服务器 先将selinux关闭和防火墙端口号打开 #iptables -A INPUT -p udp -dport -j ACCEPT #iptables -A INPUT -p udp ...
- UVALive - 6266 Admiral 费用流
UVALive - 6266 Admiral 题意:找两条完全不相交不重复的路使得权值和最小. 思路:比赛的时候时间都卡在D题了,没有仔细的想这题,其实还是很简单的,将每个点拆开,连一条容量为1,费用 ...
- Python demo working
一.游戏1.2.3 print("-------------- Guess Number Game---------------------") num=input("G ...
- C#读写config配置文件--读取配置文件类
一:通过Key访问Value的方法: //判断App.config配置文件中是否有Key(非null) if (ConfigurationManager.AppSettings.HasKeys()) ...
- 利用canvas画一个实时时钟
先放一张效果图: 下面是源代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...
- 比MD5 和HMAC还要安全的加密 - MD5 加时间戳
//1.给一个字符串进行MD5加密 NSString *passKey = @"myapp"; passKey = [passKey md5String]; //2.对第一步中得到 ...
- js --- 事件冒泡 事件捕获
先上结论: 他们是描述事件触发时序问题的术语.事件捕获指的是从document到触发事件的那个节点,即自上而下的去触发事件.相反的,事件冒泡是自下而上的去触发事件.绑定事件方法的第三个参数,就是控制事 ...
- 74.QT窗口实现类的封装
#include "mainwindow.h" #include <QApplication> #include <windows.h> //定义一个窗口类 ...
- 什么是老板思维,什么是员工思维,深有体会,最近被N个行业洗脑……
什么是老板思维,什么是员工思维,深有体会,最近被N个行业洗脑……
- C#开发 —— 泛型,文件
泛型的目标是采用广泛适用和可交互性的形式来表示算法和数据结构 —— 参数化 泛型能子啊编译时提供强大的类型检查,减少数据类型之间的显式转换,装箱操作和运行时的类型检查 泛型的类型参数T可以被看作是一个 ...