[Android] 基于 Linux 命令行构建 Android 应用(一):关于 Android 项目

穆飞龙
2023-12-01

关于 Android 项目

 

  项目是保存源代码和资源文件的容器。

 

  谷歌提供的 Android SDK 工具只能对具有固定目录结构的项目进行编译和打包。因此强烈建议使用 Eclipse + ADT 或者 android 命令创建 Android 项目。

 

  你可以使用 Eclipse + ADT 创建三种项目,它们主要结构相同但功用不同,分别是 Android Projects、Test Projects 和 Library Projects。本文我们主要关注 Android Projects。

 

  一个 Android 项目可视为一个完整容器,它包含应用程序的源代码,资源文件以及其他东西(例如 Ant 构建文件和 Android Manifest 文件。)。所有这些文件最终被构建成一个可以安装在安卓设备上的 .apk 文件。

 

  Eclipse + ADT 能自动创建一个安卓项目所需的基本目录和文件,但你可以根据实际需要在项目中创建更多的目录和文件。

 

Android Projects

 

  安卓项目是指那些最终可以编译成运行在安卓设备上的 .apk 文件的项目。它包含了应用程序源代码和资源文件,一部分目录和文件是自动生成,另一部分则可根据需要创建。

 

  以下是一个安卓项目的基本目录和文件:

 

  src/

  该目录用以保存 Activity 文件和所有源代码文件(.java 和 .aidl 文件)。Activity 文件保存路径为 src/your/package/namespace/ActivityName.java

  

  bin/

  该目录用以保存构建结果。在这里你可以找到最终的 .apk 文件和其他编译后的资源。

  

  jni/

  该目录用以保存使用 Android NDK 开发的源代码文件。更多详情参见 Android NDK 文档

 

  gen/

  该目录用以保存 ADT 生成的 Java 文件,例如 R.java 和从 AIDL 文件生成的接口文件。

 

  assets/

  该目录用以保存原始文件,这些文件被原样编译到 .apk 文件中,文件名也保留原样。你可以使用 AssetManager 来读取这些文件。它非常适合用于保存游戏数据等。

 

  res/

  该目录用以保存应用程序的资源文件,例如可拖拽图片,布局文件和字符串值等。更多详情参见 Application Resources

 

    anim/

    该目录用以保存将被编译为 animation 对象的 XML 文件。参见 Animation

 

    color/

      该目录用以保存描述颜色的 XML 文件。参见 Color Values

 

    drawable/

      该目录用以保存和拖拽图片相关的文件,包括位图文件(PNG, JPEG, GIF),9-Patch 图片文件以及用于描述 Drawable 对象的 XML 文件。参见 Drawable

 

    layout/

      该目录用以保存描述屏幕布局的 XML 文件。参见 Layout

 

    menu/

      该目录用以保存描述应用程序菜单的 XML 文件。参见 Menus

 

    raw/

      该目录用以保存任意的原始文件,raw/ 和 asset/ 只是访问方式不同。本目录下的文件交由 aapt 处理,并且必须在 R class 中使用资源标识符来引用该目录下的文件。该目录适合存储媒体文件,例如 MP3 或 Ogg 文件。

 

    values/

      该目录用以保存编译成其他资源的 XML 文件。与 res/ 不同,该目录下 XML 描述的资源不能通过文件名来引用。XML 文件中的元素类型负责控制资源在 R class 的位置。

 

    xml/

      该目录用以保存描述应用组件配置的 XML 文件。例如一个 XML 文件可以定义 PreferenceScreenAppWidgetProviderInfo 或者 Searchability Metadata。参见 Application Resources

 

  libs/

    该目录用以保存私有 Java 库文件。

 

  AndroidManifest.xml

    该文件描述了应用程序的属性和它各个组件。例如关于 activities,services,intent receivers 和 content providers 的性质;应用要求获取什么权限;需要哪些外部库文件;要求设备具有哪些特性;支持 API 级别等。参见 AndroidManifest.xml

 

  project.properties

    该文件用以保存项目设置,例如构建目标。该文件应该作为项目的一部分被纳入到版本控制系统中。要编辑该文件,在 Eclipse 中可以右键点击项目文件夹,选择 Properties

 

  local.properties

    该文件用以保存针对特定电脑的定制构建属性。如果你使用 Ant 来构建项目,该文件需要包含 SDK 安装路径。该文件不应该被纳入到版本控制系统中。如果你使用 Eclipse,该文件可以忽略。

 

  ant.properties

    该文件用以保存构建系统的定制属性。你可以编辑该文件来覆写 Ant 使用的默认构建设置,你也可以在该文件中注明 keystore 文件路径和 key alias,这样当你以发行模式构建你的应用的时候,构建工具可以自动对你的应用进行签名,该文件是整个项目的一部分,应该被纳入到版本控制系统中。如果你使用 Eclipse 进行构建,该文件可以忽略。

 

  build.xml

    该文件是 Ant 构建文件。仅当你使用 Ant 构建项目的时候有用。

 

 

附:

1. [Android Developer] Managing Projects

 

 类似资料: