Android编译系统入门(一)

做过Android平台开发的朋友对makemmmake clean命令应该很熟悉,但也许大家只是熟知这些命令的作用却不知道这些命令底下有些什么原理?那么今天我就带着大家推开Android编译系统的大门,探索一下这片未知的恐怖之森(问啥要用恐怖之森后面大家就知道了)。

Makefile入门

在讲解Android编译系统之前首先来了解一下什么是Makefile:

简单的说,Makefile提供了一种机制,让使用者可以有效的组织工作。

注意这里用的是“工作”而非“编译”,这是因为Makefile并不是用来完成编译工作的,它只是一种规则的执行者,而使用者用它来执行什么规则没有任何限制。如既可以用它来编译系统,也能用它备份文档或只是打印log。
既然它是用来执行规则的,那么我们就来看看Makefile的规则。

TARGET:PREREQUISITES
    COMMANDS

注意:COMMANDS前面必须有一个TAB制表符

在Makefile的规则中TARGET是需要生成的目标文件,PREREQUISITES是目标的先决条件,也是另一个规则中的target。COMMANDS是生成目标文件的命令,当prerequisites中的任何一个文件比target文件要新的时候就会触发commands。commands的具体内容取决于使用者的需求,如调用gcc编译器。

下面我们用一个简单的例子说明一下Makefile规则的用法。
涉及到的文件如下:

文件名 描述
mian.c 主函数所在文件
test.h 提供一个测试函数getNumber的声明
test.c 提供getNumber的函数实现,用于返回一个值
Makefile 我们的主角,用于编译整个例子

文件内容如下:
(1)test.h对getNumber进行声明。

int getNumber();

(2)test.c实现getNumber函数

#include "test.h"

int getNumber()
{
    return 2333;
}

(3)main.c打印getNumber的返回值

#include <stdio.h>
#include "test.h"

int main()
{![这里写图片描述](http://img.blog.csdn.net/20151203122740732)
    printf("Hello,getNumber=%d\n",getNumber());
    return 0;
}

(4)Makefile文件,用于组织这个小例子的编译工作

MakefileTest : main.o test.o
    gcc -o MakefileTest main.o test.o

main.o : main.c
    gcc -c main.c

test.o : test.c
    gcc -c test.c

对上面这段代码简单解释一下,MakefileTest为TAEGET即目标产物,main.otest.oMakefileTest的先决条件。gcc -o MakefileTest main.o test.o则是MakefileTest对应的COMMANDS,这条命令使用gcc命令将main.o和test.o编译成MakefileTest可执行文件。
最后通过使用make命令就会在当前目录生成一个MakefileTest可执行文件,运行结果如下:
这里写图片描述

上面这个是一个非常简单的Makefile的示例,但“麻雀虽小,五脏俱全”&

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Android Studio是一款专门用于开发Android应用的集成开发环境(IDE)。下面是Android Studio入门的步骤: 1. 下载和安装Android Studio:访问官方网站(https://developer.android.com/studio)下载适用于您操作系统的Android Studio,并按照安装向导进行安装。 2. 启动Android Studio:安装完成后,启动Android Studio。在欢迎界面上,您可以选择创建新项目、导入现有项目或打开最近的项目。 3. 创建新项目:点击"Start a new Android Studio Project"按钮,进入新项目创建向导。在向导中,您需要提供应用的名称、包名、项目位置等信息,并选择目标Android设备的最低版本。 4. 选择项目模板:Android Studio提供了多个项目模板,用于快速创建不同类型的应用。您可以根据自己的需求选择适合的模板,或者选择空白模板从头开始。 5. 设计应用界面:Android Studio提供了可视化的布局编辑器,可以帮助您设计应用的界面。您可以拖拽和调整UI元素,设置属性和样式,以及预览应用的外观。 6. 编写代码:使用Java或Kotlin编写应用的逻辑代码。Android Studio提供了代码编辑器和调试工具,可以帮助您编写和调试应用代码。 7. 运行应用:在Android Studio中,您可以选择不同的运行配置,例如模拟器或连接的设备。点击运行按钮,Android Studio会自动编译和安装应用,并在目标设备上运行。 8. 调试应用:如果应用出现问题,您可以使用Android Studio的调试工具进行调试。您可以设置断点、监视变量、查看日志等,以帮助您找到和修复问题。 9. 导出应用:当应用开发完成后,您可以使用Android Studio导出应用的APK文件,以便发布到Google Play商店或其他渠道。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值