android笔记之---第一个android的项目HelloAndroid

本文深入探讨了Android应用开发中的HelloActivity工程的源代码结构,包括其核心组件如AndroidManifest.xml、Android.mk、资源目录res及Java类文件src。详细解析了工程的编译过程及生成的输出目录结构,着重介绍了classes.dex和classes.jar文件的重要作用,以及R.java文件的生成原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 HelloActivity 工程的源代码在Android 目录的development/samples/HelloAndroid/中,代码的
结构如下所示:

development/sample/HelloActivity/

|--Android.mk

|--AndroidManifest.xml

|--res

      |---layout

      |     --hello_activity.xml

      ---values

           ----strings.xml

|--src

|        --com

|       --example

|       --android

|          --helloactivity

|                         --HelloWorld.java

----------------------------------------------------------------------------------------
其中tests 是一个独立的项目,可以暂时不考虑。其他部分看作一个Android 的一应用程序的工程。这个工程主要的组成部分如下所示:


AndroidManifest.xml    :  工程的描述文件,在运行时有用处
Android.mk   :    整个工程的Makefile

 

res  : 放置资源文件的目录
src/com/example/android/helloactivity/HelloWorld.java:这是JAVA 类文件,这个文件的路径表示在Andorid 的

JAVA 包的结构中的位置, 这个包的使用方式为  :  com.example.android.helloactivity。

 

编译的过程:

HelloWorld工程经过编译后将生成  out/target/common/obj/APPS/HelloWorld_intermediates/  目录,这个目录中得内容都是HelloActivity工程相关的,更具体的说

与development/samples/HelloActivity/中得Android.mk文件相关

 

out/target/common/obj/APPS/He lloActivity_intermediates/
|-- classes.dex (字节码)
|-- classes.jar (JAR 文件)
|-- public_resources.xml (根据resources 结构生成的xml)
`-- src
        |-- R.stamp
        `-- com
              `-- example
                        `-- android
                                    `-- helloactivity
                                                 `-- R.java (resources 生成的文件)

classes.dex


是一个最重要的文件,它是给Android 的JAVA 虚拟机Dalvik 运行的字节码文
件。


classes.jar


是一个JAR 文件,JAR 的含义为Java ARchive,也就是Java 归档,是一种与平台
无关的文件格式,可将多个文件合成一个文件。解压缩之后的目录结构:(JAVA 标准编译得
到的类)

classes
|-- META-INF
        | `-- MANIFEST.MF
`-- com
      `-- example
                 `-- android
                         `-- helloactivity
                                |-- HelloActivity.class
                                |-- R$attr.class
                                |-- R$id.class
                                |-- R$layout.class
                                |-- R$string.class
                                `-- R.class

各个以class 为扩展名的文件,事实上是JAVA 程序经过编译后的各个类的字节码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值