Android开发环境使用工具Android Studio工程目录结构
一、新建Android Studio工程项目后的界面
二、.gradle目录:.gradle目录是AS自动生成的目录,一般情况不做修改。
三、.idea目录:.idea目录是AS自动生成的目录,一般情况不做修改。
四、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目录
module(app)目录下的src目录下的android Test文件:用来编写android test 测试用例的,可以对项目进行一些自动化测试。
module(app)目录下的src目录下的java文件:存放Java代码的地方
module(app)目录下的src目录下的res文件:存放资源的目录 图片存放在drawable(根据不同的分辨率可以有多个文件夹,有的app会根据不同分辨率显示分辨率不一样的图片,如果你只有一套图片想适用在各个分辨率下,建议放置在drawable-xxhdpi文件夹下,之前读过一篇文章分析放在该文件夹下资源消耗最小)、布局文件在layout、字符串在values、mipmap文件夹主要存放图标(引导页的图片也建议放在这里,之前在写一个引导页的demo开始图片放在了drawable下,滑动的时候卡的一批,后来发现放到mipmap下就不会卡了)。
module(app)目录下的src目录下的AndroidManifest.xml文件:整个项目的配置文件,四大组件都需要在这里注册才能正常的运行。
module(app)目录下的src目录下的test文件:用来编写Unit Test测试用例的,是对项目进行自动化测试的另一种方式。
4、.gitignore:用于将app模块内指定的目录或文件排除在版本控制之外,作用和外层的.gitignore文件类似。
5、app.iml:intellij IDEA项目都会自动生成的,AS是基于IDEA开发的,iml文件是Android Studio识别项目的配置文件
6、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、proguard-rules.pro:用于指定项目代码的混淆规则,当代码开发完成后打成安装包文件,如果不希望代码被别人破解,通常会将代码混淆,从而让破解者难以阅读。
五、build目录:build目录编译时自动生成的目录,一般情况不做修改。
六、.gitignore:工程项目对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:app模块的gradle构建脚本(会经常接触所以注释下)
8、.idea目录:.idea目录是AS自动生成的目录,一般情况不做修改。
9、.idea目录:.idea目录是AS自动生成的目录,一般情况不做修改。
10、.idea目录:.idea目录是AS自动生成的目录,一般情况不做修改。
11、.idea目录:.idea目录是AS自动生成的目录,一般情况不做修改。