project.iml--NO:这个是用来管理project的相关配置信息的,也是标识这个文件夹是一个android项目的。如果误删该文件,Android Studio将不会将该文件当做安卓项目,只会当做普通的文件夹进行处理。但是由于里面的build.gradle都存在,所以module工程还是能正常编译。误删之后如果退出之后重新进入,Android Studio会重新生成该文件

test(module)目录--YES:这个是实际的module模块。里面包含了所有关于该模块的源码,配置等信息。也就是上面分析的module目录结构的目录,该文件夹是整个工程最核心的部分,你写的源码等都在该文件夹中。所以要纳入代码仓库中

build目录--NO:该目录是编译过程中生成的文件。类似module模块中的build目录。所以不需要加入代码仓库中管理

build.gradle文件--YES:该文件是project编译的脚本,而且还可以理解成module模块中的build.gradle的“父文件”。当module中的build.gradle文件缺少的相关配置,如果project的build.gradle存在,那么就会复用该文件的相关配置。里面配置了一个google维护的jcenter()仓库,该仓库是用来提供相关软件源给android studio下载的。如gradle的相关版本等等

.gitignore文件--YES:该文件和module模块中的.gitignore是一样的。如果该project通过git init初始化了一个仓库,进行仓库管理的时候,可以将不想被仓库管理的文件目录等写入该文件中

gradle目录--YES:该目录是用来存放关于编译该project需要用到的gradle版本,下载地址等。里面存放这wrapper文件夹,在wrapper文件夹下包含着gradle-wrapper.jar和gradle-wrapper.properties文件。在gradle-wrapper.properties文件中,存放这编译该project需要用到的版本和下载地址。gradle-wrapper.properties文件内容如下:参考该博客

#Wed Jul 22 20:30:43 CST 2020

distributionBase=GRADLE_USER_HOME -- zip包解压后存放的文件夹:在linux下是$HOME/.gradle,例如~/.gradle文件夹

distributionPath=wrapper/dists -- zip包解压后存放的文件夹下的子路径,linux下即~/.gradle/wrapper/dists

zipStoreBase=GRADLE_USER_HOME -- zip压缩包的存储文件夹:在linux下是$HOME/.gradle,例如~/.gradle文件夹

zipStorePath=wrapper/dists -- zip压缩包的存储路径,linux下即~/.gradle/wrapper/dists

distributionUrl=https://services.gradle.org/distributions/gradle-4.1-all.zip -- 编译用到的gradle的下载地址

.gradle目录--NO:这个文件是编译project的时候生成的,里面存放的是编译过程中的中间文件,供编译出问题的时候debug使用。误删之后通过clean project -- rebuild project 之后系统会自动生成,或者通过重新import项目之后,系统会自动重新编译gradle之后生成

.gradle.properties文件--NO:配置gradle运行环境的文件,比如配置gradle运行模式,运行时jvm虚拟机的大小。在创建的项目中,暂时是没有内容的。如果手动配置了,那么虚拟机运行时就会按照该文件的配置信息运行

gradlew和gradlew.bat文件--YES:gradlew是Linux下的脚本,gradlew.bat是Windows下的脚本。作用是,根据gradle/wrapper/gradle-wrapper.properties文件中的url去下载对应的gradle版本,然后存储在对应的文件中。具体参考gradle目录知识点(6)。

可能你有个疑问:为什么要下载gradle版本呢?用本地的不行吗?

其实是可以用本地的gradle版本的,是可以去配置的。但是谷歌这样设计的目的是:保证在不同的环境下构建时都是使用的统一版本的gradle,即使该环境没有安装gradle也可以,因为gradle wrapper会自动下载对应的gradle版本。相当于加了一层保险

.idea目录--NO:这个目录是Intellij IDEA 运行时候生成的文件目录,不需要纳入代码仓库中管理。误删除之后,只需要关闭Android Studio,重新导入项目就会自动生成

local.properties--NO:这个文件是显示当前project用到的sdk和ndk的路径的,不是用来配置sdk和ndk路径的。就像该文件内容中所描述的,

# This file is automatically generated by Android Studio. -- 该文件是Android Studio自动生成的

# Do not modify this file -- YOUR CHANGES WILL BE ERASED! -- 不要修改这个文件,就算修改了也会被擦除

所以误删之后直接clean -- rebuild会出错,需要关闭Android Studio后重新import该项目,Android Studio就会自动生成该文件。

settings.gradle--YES:这个文件是用来配置当前的project中包含了哪些module。如果哪个module在里面没有配置,那么就算该module有build.gralde文件,在gradle面板中也不会显示该工程

linux gradle目录结构,android studio中,project和module的目录结构相关推荐

  1. android studio资产目录,在Android Studio中设置单元测试的自定义资产目录

    我们对使用仅需要进行单元测试的资产的Android应用程序执行单元测试是不常见的要求. 使用基于Eclipse的SDK这是简单明了的 – 测试项目是一个单独的项目,其自有资产文件夹.使用Android ...

  2. 【Android】Android Studio中新创建的app目录结构

    安装Android Studio后,然后创建一个app项目.对于初学者来说,我们希望了解app目录结构,然后更好的进行开发工作. 但是要想了解一个app的目录结构,首先需要明确两个概念 Project ...

  3. android.mk if else,gradle - 如何在Android Studio中使用我自己的Android.mk文件 - SO中文参考 - www.soinside.com...

    [我正在Android.mk文件中定义一些变量(我正在为编译器传递一些标志),但是每次构建项目时,Android.mk都会被覆盖.我假设Gradle是负责任的,我应该去那里看看吗? 如何使用我自己的A ...

  4. Android Studio导入project和module的方法

    一.导入project 这边需要注意的是: 引入的时候不是选择project名称,而是选择的项目的build.gradle文件,如下图: 二.导入module File -- New -- Impor ...

  5. android studio管理依赖,Android Studio 中的 Gradle 依赖统一管理

    在我们的实际项目开发中,通常在一个 Project 项目中会存在多个 Module 的情况,在这些 Module 中会存在一些相同的版本依赖配置,针对进行版本升级的时候需要逐个修改,显得特别麻烦,所以 ...

  6. 导入eclipse工程到Android Studio中

    ref: 从 Eclipse 迁移至 Android Studio | Android Studio https://developer.android.com/studio/intro/migrat ...

  7. Android开发——Android Studio中配置及使用OpenCV示例

    from: http://www.mobile-open.com/2015/86176.html 本文主要讲述了Android Studio中配置及使用OpenCV示例,现在整理出来分享给Androi ...

  8. Android Studio中进行单元测试和UI测试

    目录 在Android Studio中进行单元测试和UI测试 - 1.概述 在Android Studio中进行单元测试和UI测试 - 2.创建新的Android Studio工程 在Android ...

  9. android studio 自定义字体,Android Studio中的自定义字体

    如何在android studio中创建自定义字体? 我试图使用自定义字体,我读过,我想将字体放在资产/字体. 我已经搜索了很长时间,但很难找到帮助. 我哪里错了?我真的不知道该怎么做. 我写下了所有 ...

最新文章

  1. PPT文字怎样规划 哪里可以代做PPT
  2. 能ping通外网的域名,浏览器不能上网的解决办法
  3. 数据库授予用户增删改查的权限的语句_软件测试之浅谈数据库技术概述
  4. 时间序列数据库选型——本质是列存储,B-tree索引,抑或是搜索引擎中的倒排索引...
  5. pchar,pwidechar,pansichar作为返回参数时内存访问错误
  6. WEB文件上传之apache common upload使用(一)
  7. 阿里云服务器 CentOS 7上-- Docker 安装 网关(API-Getway)--KONG
  8. 从JDK中,我们能学到哪些设计模式?
  9. 某道Pwn(格式化字符串漏洞)
  10. oir 用image j打开的插件_Windows 上使用 VSCode Remote 插件进行远程开发
  11. OpenCV图像处理(13)——指定区域截取和指定区域复制
  12. 关于SuperMap的ISManager访问权限问题
  13. maven依赖不到想要的jar包问题
  14. 第三方可视化数据分析图表Pyecharts(下载保存图片(生成的html图片)、zip函数(将数据转换为列表加元组的格式)、南丁格尔玫瑰图、双y轴可视化、饼形图和环形图)
  15. Python choice() 函数
  16. 计算机网络物联网论文,物联网对计算机网络技术发展分析
  17. 女生找工作,非常有用,好好 收藏,以后肯定能用得上 (转)
  18. 菱形杨辉三角形c语言,C++输出上三角/下三角/菱形/杨辉三角形(实现代码)
  19. JS - 4 - 数组 Array - API(slice、splice、shift、)
  20. NUC 折腾笔记 - Linux 系统篇

热门文章

  1. HDU1598 find the most comfortable road【枚举+并查集+最大生成树】
  2. CCF NOI1013 识别三角形
  3. C/C++ —— signed 与 unsigned 有符号和无符号数及其移位
  4. 伸展树(splay tree)
  5. 生活中的数学 —— 操场几何学
  6. 整数、区间与区间端点 (二)
  7. 【学习 Opencv】—— 常见接口
  8. 强悍的命令 —— 命令参数的理解
  9. gcc/g++ 参数总结
  10. python详细安装教程-python安装教程 Pycharm安装详细教程