• Android Studio目录结构浅析!!!


    Android Studio目录结构浅析

    转自:https://segmentfault.com/a/1190000002963895

    应各位朋友的要求,写这篇文章,让我们来简单了解下Android Studio中不同目录(文件)的位置和用途。 首先看下一个App的最简单的目录结构

     【= = 好复杂的样子】

    OK,我们这么看,第一,把这么多文件先分成这么三块
    1. 编译系统(Gradle)
    2. 配置文件
    3. 应用模块

    Gradle是Google推荐使用的一套基于Groovy的编译系统脚本(当然,你也可以使用ant),具体的介绍和文档可以参考这个传送门:https://developer.android.com/tools/building/plugin-for-gradle.html
    如果你学会之后,会对Android项目的编译了如指掌(总之非常爽~),它的缺点目前是效率不高,然后因为有功夫网的存在,所以在bintray上下载依赖会比较慢。

    上面那个图中出现gradle字眼的就是gradle相关的一些文件。
    Android中使用Gradle WrapperGradle进行了一层包装,我猜测这么做的原因是因为gradle更新速度实在太快,为了兼容性着想,才出了这么一套方案。(如果觉得这个猜想有问题请指正)
    gradlew相关的文件就是和Gradle Wrapper有关。我们对除了app文件夹以外的文件列一下。

    文件(夹)名用途
    .gradle Gradle编译系统,版本由wrapper指定
    .idea Android Studio IDE所需要的文件
    build 代码编译后生成的文件存放的位置
    gradle wrapper的jar和配置文件所在的位置
    .gitignore git使用的ignore文件
    build.gradle gradle编译的相关配置文件(相当于Makefile)
    gradle.properties gradle相关的全局属性设置
    gradlew *nix下的gradle wrapper可执行文件
    graldew.bat windows下的gradle wrapper可执行文件
    local.properties 本地属性设置(key设置,android sdk位置等属性),这个文件是不推荐上传到VCS中去的
    settings.gradle 和设置相关的gradle脚本

     

    1、gradle文件夹:这里面有两个文件,gradle-wrapper.jar和gradle-wrapper.properties,它们就是gradle wrapper。gradle项目都会有,你可以通过命令gradle init来创建它们(前提是本地安装了gradle并且配置到了环境变量中)。

    2、gradle.properties : 从名字上就知道它是一个配置文件,没错,这里面可以定义一些常量供build.gradle使用,比如可以配置签名相关信息如keystore位置,密码,keyalias等。

    3、settings.gradle : 这个文件是用来配置多模块的,比如你的项目有两个模块 module-a,module-b,那么你就需要在这个文件中进行配置,格式如下:include ':module-a',':module-b'   。

    4.gradlew和gradlew.bat:这分别是linux下的shell脚本和windows下的批处理文件,它们的作用是根据gradle-wrapper.properties文件中的distributionUrl下载对应的gradle版本。这样就可以保证在不同的环境下构建时都是使用的统一版本的gradle,即使该环境没有安装gradle也可以,因为gradle wrapper 会自动下载对应的gradle版本。gradlew的用法跟gradle一模一样,比如执行构建gradle build命令,你可以用gradlew build。gradlew即gradle wrapper的缩写。

     1.导入本地jar包:跟eclipse不太一样,android studio导入本地jar 除了将 jar 包放到模块的 libs 目录中以外,还得在该模块的build.gradle 中进行配置,配置方式是在 dependencies 结点下进行如下声明:compile files('libs/xxx.jar') 如果libs下有多个jar文件,可以这样声明:

     1 .compile fileTree(dir: 'libs', include: ['*.jar']) 2.导入maven库:compile 'com.android.support:appcompat-v7:21.0.3' 可见,格式为compile 'groupId:artifactId:version'  3.导入某个project:

     

    这些就是外部文件相关的一些文件的介绍。我们来看下更重要的app模块里的文件

     这是app模块下的文件目录结构,介绍下他们的用途

    文件(夹)名用途
    build 编译后的文件存在的位置(包括最终生成的apk也在这里面)
    libs 依赖的库所在的位置(jaraar)
    src 源代码所在的目录
    src/main 主要代码所在位置(src/androidTest)就是测试代码所在位置了
    src/main/assets android中附带的一些文件
    src/main/java 最最重要的,我们的java代码所在的位置
    src/main/jniLibs jni的一些动态库所在的默认位置(.so文件)
    src/main/res android资源文件所在位置
    src/main/AndroidManifest.xml AndroidManifest不用介绍了吧~
    build.gradle 和这个项目有关的gradle配置,相当于这个项目的Makefile,一些项目的依赖就写在这里面
    proguard.pro 代码混淆配置文件

    以上就是对Android Studio目录结构的简单介绍~

    有问题可以直接留言,我会尽快回复。

    欢迎关注我Github 以及 @Gemini

  • 相关阅读:
    .net编程扫盲(*)
    接口编程扫盲(多态)
    (转)栈与堆栈的区别
    (转).NET基础拾遗(5)多线程开发基础
    (转)你应该知道的计算机网络知识
    网络代理的基础知识
    某代理网站免费IP地址抓取测试
    常用Maven插件介绍
    Maven打jar发布包的常用配置
    Apache Commons CLI 开发命令行工具示例
  • 原文地址:https://www.cnblogs.com/cheneasternsun/p/5920509.html
Copyright © 2020-2023  润新知