[android]工程文件介绍
2017-02-26 12:14
316 查看
.gradle和.idea
这两个目录下的文件都是android studio自动生产的文件。
app
项目中的代码和资源几乎都在这个文件中
build
编译时自动生成的文件
gradle
这个目录包含了 gradle wrapper的配置文件。使用gradle wrapper的方式不是提前将gradle下载好,而是根据本地缓存情况决定是否联网下载gradle,android studio默认是没有启用 gradle wrapper ,如果需要打点击 file->settings->build,
execution, deployment->gradle
.gitignore
这个文件用来将制定的文件或目录排除在控制版本之外
builed.gradle
项目的全家gradle构建脚本。
gradle.properties
全家gradle 配置文件,这里配置的属性将会影响项目中所有的gradle 编译脚本
gradlew
gradlew.bat
grdlew和gradlew.bat这两个文件用来在命令行界面中执行gradle命令的,其中gradlew在mac和linux中使用而gradew.bat在windows 中使用
local.properties
这个文件用于指定本机中android SDK路径,通常内容是自动生成的。除非sdk路径变化,否则不用修改
MyApplication.im
iml文件是所用inteliJ IDEA 项目都会自动生产的一个文件,用于标识这是一个InteliJ IDEA 项目。
setings.gradle
这个文件用于制定项目中所引用的模板,通常情况下模板是自动引入的
build
编译时自动生成的文件
libs
项目中使用的第三方包就放在这个目录下
src
项目的资源目录,如代码,图片
adroidTest
此处用来编写android测试用例的。可以对项目进行一些自动化测试
mian
android开发的目录
java
java 代码目录
res
资源目录。图片,字符串……
AndroidManifest.xml
android 配置文件,此文件包含了 android 的活动注册,权限等等,非常重要
test
编写Unit Test 测试用例。是对项目自动话测试的另一种方法
.gitignore
这个文件将app模板内的制定目录或则文件排除在控制版本之外
app.iml
inteliJ IDEA 项目自动生成文件
build.gradle
app模板的gradle 构建脚本
proguard-rules.pro
代码混淆规则,当代码开发完成之后打成安装包文件,如果不希望别人破解。可以将代码混淆,让人难以阅读。
build.gradle
gradle是一个非常先进的项目构建工具。基于groovy来声明项目的设置。摈弃了xml项目build.gradle
// Top-level build file where you can add confi 4000 guration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.2.2' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } } task clean(type: Delete) { delete rootProject.buildDir }
repositories 闭包声明了jcenter()这行这行配置。jcenter是一个代码托管库。很多android开源项目都会选择将代码托管到jcenter上。声明这行代码就可以轻松引用任何jcenter上的开源项目了
dependencies 闭包使用classpath声明gradle插件。这是因为gradle不仅可以构架android。java ,c++都是项目都是可以用gradle 构建的,因此要构建android 项目我们要声明’com.android.tools.build:gradle:2.2.2’(后面是版本号,可能不同)
app build.gradle
apply plugin: 'com.android.application' android { compileSdkVersion 24 buildToolsVersion "25.0.2" defaultConfig { applicationId "com.example.administrator.myapplication" minSdkVersion 15 targetSdkVersion 24 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:24.2.1' testCompile 'junit:junit:4.12' }
apply plugin: 引用了一个插件,一般有两个可选值。
com.android.application表示是一个引用程序模块。
com.android.library表示是一个库模块
android闭包可以配置项目构建的各种属性。
compileSdkVersion 编译版本
buildToolsVersion 构建工具版本
defaultConfig 闭包项目的更多细节
applicationId 项目包名
minSdkVersion 最小兼容版本
targetSdkVersion 目标版本
versionCode 项目版本号
versionName 项目版本名
testInstrumentationRunner 测试用想起参考
http://wiki.jikexueyuan.com/project/android-gradle-guide/testing.html
buildTypes 闭包用于指定安装文件的相关配置。通常只会有两闭包。一个是debug,一个是release。debug闭包制定生成测试版安装文件的配置。release闭包用于指定生产正式版的安装文件的配置。debug闭包可以忽略不屑的。
minifyEnabled 制定混淆规则
proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ 这里制定了两个混淆规则’proguard-android.txt’在android sdk中,里面是所有项目通用的混淆规则。proguard-rules.pro是当前项目的根目录下的,里面可以编写当前项目特有的混淆规则。需要注意android studio直接运行的都是测试版安装文件。
dependencies 闭包它可以指定当前项目的所有的依赖关系。通常android studio 的项目一共有3种以来关系。本地依赖,库依赖远程依赖。
本地依赖可以对本地的jar包或目录添加依赖关系。库依赖可以对项目中的库添加依赖关系。远程依赖可以对jcenter库上的开源项目添加依赖关系。
compile fileTree(dir: ‘libs’, include: [‘*.jar’])
compile fileTree添加本地依赖libs 下的所有.jar文件添加到项目构建路径中
compile ‘com.android.support:appcompat-v7:24.2.1’
compile 远程依赖。com.android.support域名部分,用于和其他公司的库做区分。appcompat-v7组名称。用于同一个公司的库做区分。24.2.1版本号
compile object (‘:helper’)为库依赖
testCompile ‘junit:junit:4.12’测试用的库例
【参考】《第一行代码》第一张
相关文章推荐
- Android 工程中各种文件的介绍
- Android-----工程文件目录介绍
- Eclipse中新建立android工程目录和文件作用介绍
- android工程中各种文件介绍
- 【android】工程基本文件介绍
- 创建一个Android程序(简单介绍工程里面各个文件的作用)
- Android 工程中各种文件的介绍
- 【Android开发学习笔记】【第一课】初识New Project,工程文件介绍
- 创建一个Android程序(简单介绍工程里面各个文件的作用)
- 自学Android开发第二天->Android工程文件介绍
- Android的第一天学习--工程结构及主配置文件介绍
- 【Android开发学习笔记】【第一课】初识New Project,工程文件介绍
- Android 工程中各种文件的介绍
- 介绍Android应用工程文件组成
- android 入门之四【应用工程文件组成详解】
- Android 工程中的 R.java 文件丢失后如何重新生成
- 【Android】简易音乐播放器(介绍使用Service和Broadcast播放音乐文件)
- Qt pro工程文件 介绍
- 将android工程导入eclipse中找不到 R文件的解决方法
- 编译android 之后生成的 img 文件介绍