Android 项目的目录结构详解

前面Day1:eclipse创建Android模拟器,我们学会了如何在eclipse上创建Android模拟器。本着“穷根究底”的黑客精神,我们将较为详细地了解App项目——
##BigLottery的目录结构
在eclipse的左侧展开BigLottery项目,本文主题如下所示:

这里写图片描述


下面将分节介绍上面的各级目录结构。
##目录结构分析
###1. src目录(关键词:源代码)
src,即"source code"。顾名思义,src是存储Java源文件的目录。打开MainActivity.java文件会看到如下代码:

package com.example.biglottery; import android.os.Bundle; //传递数据 import android.app.Activity; //活动 import android.view.Menu; //组件 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to // the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }

当我们新建一个Android项目,系统自动生成了一个MainActivity.java文件。它导入了三个类:
android.os.Bundle、android.app.Activity、android.view.Menu。
MainActivity类继承了Activity类且需重写onCreate方法。
In a word, src是存储编写程序的目录。
###2. gen目录(关键词:资源索引)
该目录用于保存自动生成的R.java文件(只读模式,不能更改)。
R.java文件是由AAPT工具根据应用中的资源文件自动生成的,包含了Android的资源文件的标识符。随着我们不断向项目中添加资源,R.java文件的内容也会越来越多。
因此,我们可以把R.java理解成Android应用的资源字典。
###3. Android 4.3(关键词:Android版本)
**Android版本资源,其中包含构建应用程序所需的所有的Android SDK 库(如Views、Controls)和APIs。**通过android.jar将自己的应用程序绑定到Android SDK和Android Emulator,这允许你使用所有Android的库和包,且使你的应用程序在适当的环境中调试。
###4. assets/res(关键词:资源)
Android应用可以将资源存储在两个目录:assets和res
assets:资源可以任意存放,也可以建立任意层次的子目录。
res:资源只能存储在相应的子目录(如res/layout、res/values等)中,不能直接将资源存储在res目录中。如图所示:

这里写图片描述


两者具体区别:android res与assets资源的区别。
###5. bin(关键词:目标文件)

这里写图片描述


bin文件夹中包含编译生成apk的应用程序:xxx.apk。
###6. Android Private Libraries/libs(关键词:类库)
两者皆储存Android项目所需的第三方库。
Android Private Libraries引用的是第三方jar包,表示放在libs里面的jar包引用,视为私有引用。添加jar包到libs里面,系统自动把jar加载到android private libraries中。我们把libs中的jar包移除 Private Libraries中也就没有了。
简而言之,Private Libraries 就是libs里面的jar包的映射
###7. AndroidManifest.xml(关键词:配置)
Android项目的总配置文件,记录应用中所使用的各种组件。这个文件列出了应用程序所提供的功能,在这个文件中,你可以指定应用程序使用到的服务(如电话服务、互联网 服务、短信服务、GPS服务等等)。另外当你新添加一个Activity的时候,也需要在这个文件中进行相应配置,只有配置好后,才能调用此 Activity。
###8. project.properties (关键词:默认属性)
该文件记录了项目中所需要的环境信息,比如Android的版本等。(注意:其不可修改!)

# This file is automatically generated by Android Tools. # Do not modify this file -- YOUR CHANGES WILL BE ERASED! # # This file must be checked in Version Control Systems. # # To customize properties used by the Ant build system edit # "ant.properties", and override values to adapt the script to your # project structure. # # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt # Project target. target=android-18

【文章小结】

src(开发的程序)

gen(资源文件的标识符)

Android 4.3(Android SDK)

assets/res(资源文件)

bin(编译生成安装包)

Android Private Libraries/libs(第三方类库的jar包)

AndroidManifest.xml(系统清单文件)

project.properties (默认属性文件)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzfjzj.html