• Android开发环境使用工具Android Studio工程目录结构


    Android开发环境使用工具Android Studio工程目录结构

    一、Android Studio新建Android工程项目后的界面

        

    二、.gradle目录:.gradle目录是Android Studio自动生成的目录,一般情况不做修改。

           

    三、.idea目录:.idea目录是Android Studio自动生成的目录,一般情况不做修改。

    四、module(app)目录   

    1、module(app)目录下的build目录:module(app)目录下的build目录包含编译时自动生成的内容,其中在outputs文件夹下存放打包好的apk文件(debug和release)。

     

    2、module(app)目录下的libs目录:如果项目中使用了第三方的jar包,就需要把jar包放到module(app)目录下的libs目录中,然后jar包会被自动添加到构建路径(如集成百度地图sdk,把jar包放到libs目录下,可以在build.gradle(app)文件中查看当前项目依赖)。        

    3、module(app)目录下的src目录

    (1)、module(app)目录下的src目录下的android Test文件:用来编写android test 测试用例的,可以对项目进行一些自动化测试。

    (2)、module(app)目录下的src目录下的java文件:存放Java代码的地方

    (3)、module(app)目录下的src目录下的res文件:存放资源的目录 图片存放在drawable(根据不同的分辨率可以有多个文件夹,有的app会根据不同分辨率显示分辨率不一样的图片,如果你只有一套图片想适用在各个分辨率下,建议放置在drawable-xxhdpi文件夹下,之前读过一篇文章分析放在该文件夹下资源消耗最小)、布局文件在layout、字符串在values、mipmap文件夹主要存放图标(引导页的图片也建议放在这里,之前在写一个引导页的demo开始图片放在了drawable下,滑动的时候卡的一批,后来发现放到mipmap下就不会卡了)。

    (4)、module(app)目录下的src目录下的AndroidManifest.xml文件:整个项目的配置文件,四大组件都需要在这里注册才能正常的运行。

    (5)、module(app)目录下的src目录下的test文件:用来编写Unit Test测试用例的,是对项目进行自动化测试的另一种方式。

    4、module(app)目录下的.gitignore文件:用于将app模块内指定的目录或文件排除在版本控制之外,作用和外层的.gitignore文件类似。

    5、module(app)目录下的app.iml文件:intellij IDEA项目都会自动生成的,Android Studio是基于IDEA开发的,iml文件是Android Studio识别项目的配置文件

    6、module(app)目录下的build.gradle文件:app模块的gradle构建脚本(会经常接触所以注释下)

    apply plugin: 'com.android.application'
    //
    两种可选 application和library,application表示这是个应用程序模块,library表示这是个库模块,他要依赖于别的用用程序模块来运行 android
    { compileSdkVersion
    26 //指定项目编译版本 defaultConfig
    { applicationId
    "com.example.time" //应用包名 minSdkVersion 23 //最低兼容的版本 targetSdkVersion 26 //表示在该版本做了充分的测试 versionCode 1 //指定项目版本号 versionName "1.0" //指定项目版本名 testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes
    { release
    { minifyEnabled
    false //是否开启混淆 false不开启 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' // 混淆的配置文件路径,默认给了我们两个配置文件。 // proguard-android.txt在<sdk目录>/tools/proguard下面,里面已经包含了基本的混淆声明,有兴趣的可以去看下。 // proguard-rules.pro是在module根目录下面,我们可以根据项目去添加。 } } sourceSets
    { main
    { jniLibs.srcDir
    'libs' //说明so的路径为该libs路径,关联所有so文件 } } } dependencies
    { implementation fileTree(include: [
    '*.jar'], dir: 'libs') //本地依赖声明 implementation 'com.android.support:appcompat-v7:26.1.0' implementation 'com.android.support.constraint:constraint-layout:1.1.2' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.2' compile 'com.ashokvarma.android:bottom-navigation-bar:2.0.4' compile 'com.google.code.gson:gson:2.7' //在使用开源库时在此做依赖声明 }

    7、module(app)目录下的proguard-rules.pro文件:用于指定项目代码的混淆规则,当代码开发完成后打成安装包文件,如果不希望代码被别人破解,通常会将代码混淆,从而让破解者难以阅读。

    五、build目录:build目录编译时自动生成的目录,一般情况不做修改。 

    六、gradle目录:工程项目对gradle的配置信息,简单看下gradle-wrapper.properties里的内容,里边声明了gradle的目录与下载路径以及当前项目使用的gradle版本。

    distributionBase=GRADLE_USER_HOME
    distributionPath=wrapper/dists
    zipStoreBase=GRADLE_USER_HOME
    zipStorePath=wrapper/dists
    distributionUrl=https://services.gradle.org/distributions/gradle-4.1-all.zip

    七、.gitignore文件:用于将指定的目录或文件排除在版本控制之外,作用和内层的.gitignore文件类似。

    八、build.gradle文件:工程项目的编译环境配置

    // Top-level build file where you can add configuration options common to all sub-projects/modules.
      buildscript 
    { repositories
    { google() jcenter() } dependencies
    { classpath
    'com.android.tools.build:gradle:3.0.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects
    { repositories
    { google() jcenter()
    //中央远程仓库,兼容maven中心仓库 } } task clean(type: Delete)
    { delete rootProject.buildDir }

    九、gradle.properties文件:全局的gradle配置文件,这里配置的属性将会影响到项目中所有的gradle编译脚本。

    十、gradlew文件 & gradlew.bat文件:gradlew文件和gradlew.bat文件用来在命令行界面执行gradle命令,其中gradlew文件是在Linux或Mac系统中使用的,gradlew.bat文件是在Windows系统中使用的。

    十一、local.properties文件:用来指定本机中的Android SDK的路径,一般是自动生成,除非自己的电脑SDK位置发生变化需要修改该文件的路径。

    十二、setting.gradle文件:用于指定项目中所有引入的模块。由于工程项目中就只有一个app模块,因此该文件中也就只引入了app这一个模块。通常情况下模块的引入都是自动完成的,需要我们手动去修改这个文件的场景可能比较少。

    1、单module项目的setting.gradle文件

    include ':app'

    2、多module项目的setting.gradle文件

    include ':app' ,':app1',':app2'

    总结:一般工作中经常接触的是app目录下的相关文件以及build.gradle等文件。以上就是是一个普通Android Studio项目目录简析

     

     

     

  • 相关阅读:
    JVM字节码(七)
    JVM字节码(六)
    JVM字节码(五)
    JVM字节码(四)
    JVM字节码(三)
    JVM字节码(二)
    JVM字节码(一)
    JVM类加载器(五)
    JVM类加载器(四)
    php之 人员的权限管理
  • 原文地址:https://www.cnblogs.com/AChenWeiqiangA/p/13053469.html
Copyright © 2020-2023  润新知