android编译

来源:互联网 发布:淘宝降权 编辑:程序博客网 时间:2024/04/25 21:56
 

首先我要解释一下,这里的mm、mmm不是所谓的美眉、美妹妹等,因此通过搜索引擎想找美眉的请移步。然后我说明一下使用mm和mmm的方法:

1、进入android源码根目录:cd your-android-source-path

2、将envsetup.sh source进来:. build/envsetup.sh (注意:.后面有空格)

3、之后你就可以使用mm和mmm了。

接下来要解释一下mm和mmm的区别:

mm:编译当前目录下的模块,当前目录下要有Android.mk文件。

mmm path:编译指定路径下的模块,指定路径下要有Android.mk文件。

下面举个例子说明,假设我要编译android下的libjpeg模块,当前目录为源码根目录,方法如下:

1、. build/envsetup.sh

2、mmm external/jpeg/

或者 :

1、. build/envsetup.sh

2、cd external/jpeg

3、mm

 

最后说明一下,envsetup.sh只要source一次就够了,source之后还可以用croot命令返回到源码根目录,很好用。

 

Android 编译命令及选项

1 运行 build/envsetup.sh, 该文件提供 m,mm,mmm 等命令

#. ./build/envsetup.sh

注意 : . . 之间是空格

运行之后用 help 查看命令

#help

m 编译整个 android 工程

mm 编译当前目录下的模块

mmm path 编译指定目录下的模块

2 配置参数

#tapas

运行该命令后会出现 :

Build for the simulator or the device?
     1. Device
     2. Simulator

Which would you like? [1]

Build type choices are:
     1. release
     2. debug

Which would you like? [1]

Product choices are:
     1. emulator
     2. generic
     3. sim
You can also type the name of a product if you know it.
Which would you like? [generic]

以上产品选项是默认的 , 如果 vendor/ 目录下有产品 , 则会自动扫描进去 .

3 附加 : 如何在 vendor 下添加产品

以 HTC 为例 :

vendor/htc/dream-open 在配置时会出现如下错误 :

build/core/product_config.mk:173: *** No matches for product "dream-open".

原因是 :

vendor/htc/dream-open/htm_dream.mk 里 PRODUCT_NAME := htc_dream , 所以 dream-open 要改为 htc_dream, 还有文件夹命名不能有 – ( 中间 ), 但可以有 _( 底下 )

dream-open -> htc_dream

PRODUCT_NAME := htc_dream

PRODUCT_DEVICE := htc_dream

 

原创粉丝点击