android工程文件介绍

这里写图片描述

  1. .gradle和.idea
    这两个目录下的文件都是android studio自动生产的文件。
  2. app
    项目中的代码和资源几乎都在这个文件中
  3. build
    编译时自动生成的文件
  4. gradle
    这个目录包含了 gradle wrapper的配置文件。使用gradle wrapper的方式不是提前将gradle下载好,而是根据本地缓存情况决定是否联网下载gradle,android studio默认是没有启用 gradle wrapper ,如果需要打点击 file->settings->build,
    execution, deployment->gradle
  5. .gitignore
    这个文件用来将制定的文件或目录排除在控制版本之外
  6. builed.gradle
    项目的全家gradle构建脚本。
  7. gradle.properties
    全家gradle 配置文件,这里配置的属性将会影响项目中所有的gradle 编译脚本
  8. gradlew
  9. gradlew.bat
    grdlew和gradlew.bat这两个文件用来在命令行界面中执行gradle命令的,其中gradlew在mac和linux中使用而gradew.bat在windows 中使用
  10. local.properties
    这个文件用于指定本机中android SDK路径,通常内容是自动生成的。除非sdk路径变化,否则不用修改
  11. MyApplication.im
    iml文件是所用inteliJ IDEA 项目都会自动生产的一个文件,用于标识这是一个InteliJ IDEA 项目。
  12. setings.gradle
    这个文件用于制定项目中所引用的模板,通常情况下模板是自动引入的

这里写图片描述

  1. build
    编译时自动生成的文件
  2. libs
    项目中使用的第三方包就放在这个目录下
  3. src
    项目的资源目录,如代码,图片
  4. adroidTest
    此处用来编写android测试用例的。可以对项目进行一些自动化测试
  5. mian
    android开发的目录
  6. java
    java 代码目录
  7. res
    资源目录。图片,字符串……
  8. AndroidManifest.xml
    android 配置文件,此文件包含了 android 的活动注册,权限等等,非常重要
  9. test
    编写Unit Test 测试用例。是对项目自动话测试的另一种方法
  10. .gitignore
    这个文件将app模板内的制定目录或则文件排除在控制版本之外
  11. app.iml
    inteliJ IDEA 项目自动生成文件
  12. build.gradle
    app模板的gradle 构建脚本
  13. proguard-rules.pro
    代码混淆规则,当代码开发完成之后打成安装包文件,如果不希望别人破解。可以将代码混淆,让人难以阅读。

#build.gradle#

gradle是一个非常先进的项目构建工具。基于groovy来声明项目的设置。摈弃了xml

##项目build.gradle##

// Top-level build file where you can add configuration 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’测试用的库例

【参考】《第一行代码》第一张

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值