Android入门第一章——目录结构(4)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/houjunkang363/article/details/79847534

第二节中我们创建了一个HelloWorld工程,这节我们讲讲目录结构。

默认视图是Android,我们点击图中的箭头,将视图切换到Project



.gradle:gradle项目产生文件夹(自动编译工具产生的文件)

.idea:IDEA项目文件夹(开发工具产生的文件)

app:module模块

build:构建时生成文件的地方

gradle:gradle支持文件夹

build.gradle:gradle项目自动编译的配置文件

gradle.properties:gradle运行环境配置文件

local.properties:Android SDK NDK 环境路径配置

setting.gradle:gradle 项目的子项目包含文件

.gradle目录


gradle 运行时自动生成的目录,一般情况不做修改,不需要纳入项目源代码管理中。

.ideal目录


Intellij IDEA 运行时候生成的文件目录,一般情况不做修改,不需要纳入项目源代码管理中。 

Intellij IDEA是JetBrains公司推出的Java集成开发环境,Android Studio是基于IDEA Commutity Edition开发的,Community 版本不仅是免费的而且是开源的。

app目录


我们写代码的地方。

build目录,编译时产生文件,不需要修改,也不需要纳入项目源代码管理中。


gradle目录


可以看到里面wrapper目录下有两个文件,里面有一些项目对gradle的配置信息,可以看到里面声明了gradle的目录与下载路径以及当前项目使用的gradle版本。默认的路径我们一般不会更改。

build.gradle文件


项目的编译环境配置,可以说是Gradle最主要的配置文件

Module目录结构

再看下Module里面的结构 
Module

目录文件 作用
build module编译时所生成文件的目录
lib 第三方依赖库所在目录
src module源码所在目录
src\andrroidTest android Studio生成的测试模块,可删除
src\main module代码目录,结构和Eclipse中的差不多了
src\test 单元测试模块,可删除
.gitignore module中的git管理文件
app.iml module中的IDEA 项目文件
build.gradle module自动编译的配置文件
proguard-rules.pro module代码混淆配置文件

build目录

module的编译文件目录,编译中生成的中间文件就在这里。 
build目录 
我们编译最终生成的apk就在build/outputs/apk目录下,里面包含了app-debug.apk, app-debug-unaligned.apk,app-release-unaligned.apk三种apk, 另外app-release.apk是生成在module的根目录下。

lib目录

第三方库存放目录,我们可以把需要的第三方库jar文件放到这里,*.so也同样放在这里。可以在Project Structure中管理它的依赖关系,也可以在build.gradle中直接修改。

src目录

module源码目录,我们工作的主要地方,没什么好多说的了。

.gitignore文件

module模块的git管理文件,可对module单独管理。

app.iml文件

同Project中的*.iml一样。管理module的配置。

build.gradle文件

这个文件是Module的gradle配置文件,也可以算是整个项目最主要的gradle配置文件。它的内容比较复杂,我们先来看一下

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "eric.test"
        minSdkVersion 17
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
}

其中

// 这句是gradle版本的写法,声明是这是一个Android程序。
apply plugin: 'com.android.application'

Android项目中的配置:

// 编译android的sdk版本
compileSdkVersion 23
// build tools的版本
buildToolsVersion "23.0.2"

defaultConfig {
        //  应用的包名
        applicationId "eric.test"
        // 允许的最少版本
        minSdkVersion 17
        // 目标版本
        targetSdkVersion 23
        // apk的版本
        versionCode 1
        // apk的显示版本
        versionName "1.0"
    }
buildTypes {
        // 表明是在release版本中使用的配置
        release {
            // 是否运行混淆
            minifyEnabled false
            // 混淆的配置文件路径,默认给了我们两个配置文件。
            // proguard-android.txt在<sdk目录>/tools/proguard下面,里面已经包含了基本的混淆声明,有兴趣的可以去看下。
            // proguard-rules.pro是在module根目录下面,我们可以根据项目去添加。
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

依赖的配置:

// 表明是依赖库配置
dependencies {
    // 表明依赖libs目录下的所有jar包
    compile fileTree(dir: 'libs', include: ['*.jar'])
    // 表明在编译项目的测试代码时依赖
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
}

关于依赖,在后面章节中还会做更多的介绍。

proguard-rules.pro文件

module中的代码混淆配置文件,使用方式和Eclipse中一样。我们在build.gradle中可以看到如下片断用来启用混淆。

buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

项目目录结构大概就分析完了,这里只是针对项目中的文件做了一些简单的说明,更多的使用在后面继续介绍。


猜你喜欢

转载自blog.csdn.net/houjunkang363/article/details/79847534