基于Android内核的应用开发环境搭建

来源:互联网 发布:中兴通软件序列号查询 编辑:程序博客网 时间:2024/05/16 08:52

Android应用开发环境搭建

1. 概述... 3

2. Android.mk方式... 4

2.1. 创建hello应用目录... 4

2.2. 创建hello.c文件... 4

2.3. 创建Android.mk文件... 4

2.4. 开始编译... 5

2.5. 缺点... 5

2.5.1. 编译时间较长... 5

2.5.2. 不便于并行开发... 5

3. Makefile方式... 6

3.1. 创建hello应用目录... 6

3.2. 创建hello.c文件... 6

3.3. 创建Makefile文件... 7

3.4. 开始编译... 8

4. 遗留问题... 9

1. 概述

Linux下C/C++应用程序的开发,通常是使用make编译工具,通过一个规则文件Makefile来生成应用的可执行二进制文件。

(编译Java程序可以直接采用Eclipse的集成环境来完成)

Android是基于Linux平台,所以在Android的应用开发也同样遵循以上方式。但Android的编译环境对Makefile编译方式做了修改,使用了统一标准的Android.mk,只有在顶层目录才有一个Makefile文件,和普通我们熟悉的Makefile文件相差较多。

虽然Android.mk方式封装了很多Android编译系统的内部处理,增加了复杂性,但是对用户来添加一个应用开发,比起普通Makefile开发却是方便了许多。

基于以上的分析,本文将分别描述2种Android应用的开发:

l 在Android目录内,采用Android.mk方式开发应用

l 在Android目录外,采用Makefile方式开发应用

2. Android.mk方式

2.1. 创建hello应用目录

敲入以下命令,在Android目录下创建一个hello目录

# mkdir $(YOUR_ANDROID)/development/hello

$(YOUR_ANDROID)指Android源代码所在的目录

2.2. 创建hello.c文件

在hello目录下创建一个hello.c文件,内容如下:

#include

int main()

{

printf("Hello World!/n");

return 0;

}

2.3. 创建Android.mk文件

在hello目录下创建一个Android.mk文件,内容如下:

LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)

LOCAL_SRC_FILES:= /

hello.c

LOCAL_MODULE := helloworld

include $(BUILD_EXECUTABLE)

2.4. 开始编译

在Android顶层目录下,敲入以下命令开始编译:

# cd $(YOUR_ANDROID)

# make helloworld

如果此时Android平台还没有make过的话,上述命令会先编译完Android平台,再编译helloworld应用,耗时较长,如果已经编译过则时间就会短很多。

如果在已编译完Android平台情况下,编译成功的信息如下:

clip_image002

2.5. 缺点

2.5.1. 编译时间较长

此外采用Android.mk方式编译应用时,在第一行信息处往往会耗费较长时间,如果使用Makefile方式则无此问题。

clip_image004

2.5.2. 不便于并行开发

由于此种应用开发需要局限在Android目录下,对于每个应用开发人员都要集中在一个Android目录下开发。

同时这种方式也不便于向外提供二次开发环境。

3. Makefile方式

3.1. 创建hello应用目录

敲入以下命令,在Android目录外创建一个hello目录

# mkdir $(YOUR_DIR)/hello

$(YOUR_DIR)可以是任意一个目录,此处为了方便举例,将Android和hello放在同一个目录下:

clip_image006

3.2. 创建hello.c文件

在hello目录下创建一个hello.c文件,内容如下:

#include

int main()

{

printf("Hello World!/n");

return 0;

}

3.3. 创建Makefile文件

在hello目录下创建一个Makefile文件,内容如下:

clip_image008

clip_image010

这份Makefile文件下载到你的机器上时,只需要修改ANDROID_PATH路径即可。

因为我们先前是将Android和hello放在$(YOUR_DIR)同一个目录下,所以这里的ANDROID_PATH的路径是../mydroid

3.4. 开始编译

在hello目录下,敲入以下命令开始编译:

clip_image012

这样不到1秒时间内,就生成了二进制可执行文件hello

clip_image014

4. 遗留问题

l 最后生成的Hello文件,由于目前出差,暂时还没有在开发板上运行验证,是否可以打印出helloworld信息。

l 另外本文的Makefile中所罗列的库文件,在今后应用开发未必都能满足,因为本例中的hello示例只使用了stdio.h头文件,例如要开发minigui应用,还需要在Makefile中添加minigui的相关库。

原创粉丝点击