美文网首页移动知识Android-Android Studio
Android Studio 项目目录结构简析

Android Studio 项目目录结构简析

作者: 85f0853a1aeb | 来源:发表于2018-07-19 00:31 被阅读57次

    简单分析一下使用Android Studio创建项目后,项目目录内各部分的作用

    首先创建一个新的MyAppliction项目(使用版本为Android Studio 3.3 Canary 3)
    默认的结构为Android模式的项目结构,是经过转换过的,结构简洁明了,适合快速开发。

    Android模式
    点击左上角的Android切换成Project模式
    Project模式
    这个模式反映的就是Android项目的真实结构了。
    现在从外向内切入。

    一、外层结构

    1. .gradle和.idea

    目录下是Android Studio 自动创建的一些文件

    2. app

    项目内代码、资源均存放在这个目录下。

    3. gradle


    包含gradle wrapper 配置文件,使用gradle wrapper的方式不需要提前下载gradle,而是会根据本地的缓存情况来判断是否需要进行下载。

    4. .gitignore

    用来记录特定的目录或文件来排除在版本控制之外,具体参考Git

    5. bulid.gradle

    全局的gradle构建脚本,通常不需要进行修改。

    6. gradle.properties

    全局gradle配置文件,其中的属性会影响项目中所有gradle编译脚本。

    7. gradlew和gradlew.bat

    用来在命令行中执行gradle命令,前者在Linux或Mac中使用,后者在windows中使用。

    8. local.properties

    用于指定本机中的Android SDK路径

    9. MyApplication.iml

    用于标识Intellij IDEA 项目

    10. setting.gradle

    用于指定项目中所有引入的模块。
    二、app目录内结构


    1. build

    编译时生成的文件

    2. libs

    使用第三方jar包时直接添加入该目录下,jar包会自动地被添加进构建路径里。

    3. src

    项目的主要代码和资源所在。

    4. androidTest

    用来编写Android Test测试用例,可以对项目进行一些自动化测试。

    5. main

    存放所有Java代码,可以构建子目录来规范管理代码

    6. res

    几乎是所有的资源都存放在这里,每个文件夹都有自己的功用。比如drawable内存放图片文件,layout为所有的布局xml文件,

    7. AndroidManifest.xml

    当前Android项目的配置文件,程序中定义的四大组件都在其中进行注册,以及程序的权限声明。

    8. test

    用来编写Unit Test测试用例

    9. .gitignore

    用于版本控制

    10. app.iml

    用于标识Intellij IDEA 项目

    11. build.gradle

    内层build.gradle为app模块内的gradle构建脚本,会指定项目构建相关配置。

    android {
        compileSdkVersion 28
        buildToolsVersion "28.0.1"
        defaultConfig {
            applicationId "com.example.a40136.myapplication"
            minSdkVersion 26
            targetSdkVersion 28
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            }
        }
    }
    
    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation 'androidx.appcompat:appcompat:1.0.0-alpha1'
        implementation 'androidx.constraintlayout:constraintlayout:1.1.2'
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'androidx.test:runner:1.1.0-alpha3'
        androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha3'
    }
    

    compileSdkVersion : 指定项目的编译版本
    buildToolsVersion : 指定项目构建工具的版本
    applicationId : 项目的包名
    minSdkVersion : 指定最低兼容的Android版本
    targetSdkVersion : 表示在该目标版本已经完成了充分的测试
    versionCode : 项目的版本号
    versionName : 项目的版本名

    12. proguard-rules.pro

    用于指定项目代码的混淆规则,防止项目完成后生成的安装包文件被人破解。

    相关文章

      网友评论

        本文标题:Android Studio 项目目录结构简析

        本文链接:https://www.haomeiwen.com/subject/ehqzpftx.html