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 ...
随机推荐
- 99.重载[] * -> ->*
#include "mainwindow.h" #include <QApplication> #include <QPushButton>> //重 ...
- 【Docker端口映射】
Docker端口映射即将容器内开放的端口映射到宿主机端口,以实现外部网络的访问. 首先,我们先下载用于测试端口映射的镜像: [root@fedora ~]# docker pull training/ ...
- 学习——HTML5
HTML5多用于手机页面制作,因为PC版浏览器大多不兼容,可以通过下面网站查看HTML5浏览器兼容情况: http://www.caniuse.com/#index 一.语义化标签 1.<hea ...
- CCF模拟题 字符串匹配
字符串匹配 时间限制: 1.0s 内存限制: 256.0MB 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行.你的程序还需支持大小写敏感选项:当选项打开时,表示同一个字母的大写 ...
- 错误:created a ThreadLocal with key of type ……but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
tomcat reload显示错误:SEVERE: The web application [/Interceptor] created a ThreadLocal with key of type ...
- Linux发行版centos, ubuntu等
公司装的是centos,centos其实就是无支持版的redhat. redhat是一个服务器的操作系统它的稳定性是比较高的,同时提供在线管理服务,服务器故障预警等,当然前提是要购买昂贵的服务. Su ...
- 停止复制代理后AWT缓存组的行为
AWT缓存组中尽管大多数时候数据是从TimesTen到Oracle,但也存在数据从Oracle到TimesTen的情形. 数据从TimesTen下沉到Oracle依靠复制代理,数据从Oracle到Ti ...
- 10.axis实现webservices分布式通信
转自:https://www.aliyun.com/jiaocheng/310112.html 分布式通信原理 基本原理:stub和skeleton作为客户端和服务端传输的中介,stub和skelet ...
- ajax的使用(一)
ajax向服务器异步发送和接受数据,然后用JavaScript解析.Ajax核心规范的名称继承于你用来建立和发送请求的JavaScript对象:XMLHttpRequest.这个规范有两个等级 ...
- vim--学习之emmet插件前端开发
Emmet 在vim的使用: 1.嵌套 <ctr+y>+,(ctr+y+逗号三者的组合键,ctr+y一起按在按逗号)相当于Ememet中的Tab键. 2.内容的包围: 写好内容,退出编辑模 ...