Android studio project文件结构翻译

个人翻译,用作备忘。

链接地址:https://developer.android.com/tools/projects/index.html#ApplicationModules

Android Project Files

Studio的项目文件和设置,设置的作用范围包含所有的module。

以以下的demo为例。

.git:git版本控制的文件存放目录。

.gradle:gradle执行一些编译所生成的目录

Idea: 由IntelliJ IDEA生成的一些配置文件(这些文件当然只涉及当前的项目相关的)。

APP: 默认生成的应用module的文件夹和文件。

Build:记录所有编译module的记录输出(包含打包生成的apk)。

Gradle:包含gradler-wrapper文件。

.gitignore:记录git不需要跟踪的文件名称和目录。

build.gradle: 自定义构建系统的一些属性。你可以编辑修改这个文件来指定默认application的构建配置以及设置构建系统用的key和alia的存放路径,当打包成打包成发布版本的时候,可以使用。这个文件是项目的一部分,所以应该放在版本控制工具当中。 (官网是这么写的,和下面的module中的build.gradle一样的解释,不知道是不是官网的问题。其实就是指定gradle插件的版本,以及所使用的仓库地址。)

gradle.properties: 项目级别的gradle配置。

Gradlew:Unix系统的gradle启动脚本。

gradlew.bat :windows系统的启动脚本。

local.properties:为构建系统配置的本机开发的一些指定的一些属性配置。比如SDK的路径。因为本文件的内容是依赖于开发者机器的,所以这个文件不应该放在任何的版本控制工具里。

.iml:module的一些文件,是由IntelliJ IDEA创建,用来存储module的一些信息。

settings.gradle:用来指定哪些子module可以用来构建。

Android Application Modules

Build/:该module构建各个渠道的时候,文件存放目录。一般存放在主application中。

Libs/:包含一些私有的jar包,保存在主application中。

Src/:包含子activity文件,activity文件存在于src/main/java//ActivityName>.java。也包括.java以及aidl等代码文件都在这个目录下。

androidTest/:包含了一些测试文件。

main/java/com.>project<.>app<:包含一些java文件。

main/jni/:包含一些JNI文件。

main/gen/:包含一些studio生成的java文件,比如R文件和由aidl生成的文件。

main/assets/:这个文件是空的,你可以使用它来保存一些资源文件。保存在这个文件夹下的文件将会被编译进APK中。你可以像使用URI定位典型的系统文件一样来定位到这个文件夹。使用AssetManager就可以以流的形式读取这个文件。举个例子,把文本和游戏数据放在这个文件夹下是个不错的选择。

main/res/

包含一些资源文件,像drawable,layout,string。

anim/

包含动画的xml定义文件。具体的内容可以看动画的类型。

color/

存放颜色值。

drawable/

存放png,jpeg或者gif,.9png等图片资源,以及描述图片形状或者描述图片对象的状态的XML文件,具体看资源文件类型部分。

mipmap/

为APP启动图标存放的文件夹。Android系统会持有这个文件夹下的所有资源,包括和屏幕尺寸相关的文件夹,比如mipmap-xxxhdpi而不管本身安装你应用的手机的分辨率,android系统会决定在当前的手机分辨率上选择哪张图以获得最佳的显示效果。

layout/

布局文件信息。

menu/

菜单的布局文件、

raw/

任意文件存放的文件夹了。保存在这个文件夹下和保存在assets下,本质上是没有区别的。唯一的区别是读取的方式了。读取这些文件是由aapt产生的,必须通过R文件夹引用才能获取,举个例子,把一些MPS或者OGG放在这个文件夹。

values/

由xml元素定义的资源文件。不像res文件夹下的其他资源文件,这些文件是由xml元素定义的,而且不能通过资源文件夹的名字来引用。取而代之的,文件内的xml元素的类型会决定了他在R文件中的类型。

xml/

存放一些定义了系统组件比较杂的xml文件。比如定义了PreferenceScreen, AppWidgetProviderInfo, or Searchability Metadata.

AndroidManifest.xml:

文件描述了module的本质,并且定义了application下的所有组件。比如,描述了activity,service,intent,receiver,和一些content provider;权限声明,额外的jar;支持的设备的特性;API的级别要求;还有其他的一些内容。(有些内容不是放入build.gradle中了吗?)。

.gitignore:记录git不需要跟踪的文件名称和目录。

app.iml/:IntelliJ IDEA 的module信息。

build.gradle: 自定义构建系统的一些属性。你可以编辑修改这个文件来指定默认application的构建配置以及设置构建系统用的key和alia的存放路径,当打包成打包成发布版本的时候,可以使用。这个文件是项目的一部分,所以应该放在版本控制工具当中。

proguard-rules.pro:自定义的一些混淆文件。

更多相关文章

  1. Eclipse / Android(安卓): “Errors running builder 'Android(
  2. Eclipse中Android项目XML文件的格式化配置
  3. Android(安卓)XML解析
  4. Myeclispe10+ Android4.4 环境搭建
  5. Android找不到Manifest系统文件
  6. androidUI设计之旅 ----布局文件属性解析
  7. 制作linux根文件系统
  8. Android(安卓)XML解析
  9. Eclipse Android(安卓)SDK Manager下载失败解决

随机推荐

  1. Android负责人:完全开放和一致体验是挑战
  2. Android(安卓)三类框架的理解以及MVVM框
  3. android那些事——android的成长
  4. Android系统架构-----Android的系统体系
  5. 【android基础】之在程序中设置android:g
  6. Android软件工程师之不归路
  7. android最佳实践(二)
  8. Android(安卓)4高级编程(第3版) 试读
  9. cocos2dx打包Android出现“未指定Android
  10. Android(安卓)中文API合集(3)(83篇)(chm