Android基础——项目的文件结构(一)

Android视图与Project视图对比

【注】此项目文件结构仅限于Android Studio下的Android项目!!!

  在Android Studio(简称AS)中,一个Android项目的文件结构有许多种表现形式,我称之为视图。其中,Android视图是AS默认的视图,在新建一个项目之后,AS就会将项目的文件结构以Android视图表现出来;Project视图是程序猿们最喜欢的视图,几乎所有教科书、教程里都建议切换Project视图,因为Android视图中会缺少很多文件夹和文件,并且有些文件夹的名称会被AS替换显示,Project视图中的文件结构就是项目在硬盘上真实的文件结构。

  话不多说,上图

  1、Android视图文件结构

   2、Project视图文件结构

  Android视图显示的内容主要在Project视图中的app文件夹中,上一张app文件夹内的文件结构

  看图分析还是有些麻烦,表格是对比的最佳方式

Android视图

Project视图

详细说明

app/manifests

app/src/main/AndroidManifest.xml

存放AndroidManifest.xml文件,整个项目的配置文件,包括程序版本、四大组件注册、权限声明等。

app/java

app/src/main/java

Java源文件夹,存放项目中所有的Java代码源文件。

app/cpp

app/src/main/jni

C/C++源文件夹,存放项目中所有的C和C++代码源文件。

app/aidl

app/src/main/aidl

AIDL源文件夹,存放项目中的Android接口定义语言代码源文件。

app/renderscript

app/src/main/rs

RenderScript源文件夹,存放项目中的RenderScript代码源文件。

app/assets

app/src/main/assets

存放程序员想使用的任何资源文件,其中的文件不能通过R调用。

app/res

app/src/main/res

存放项目中所有的资源文件,包括图片、布局、字符串等。

app/resources

app/src/main/resources

留坑,此文件夹貌似用来存放Java资源文件。

Gradle Scripts

app/* + HelloWorld/*

gradle相关配置文件、gradle构建文件。

app/build

包含编译时自动生成的文件,与外层build文件夹类似但更复杂。

app/libs

存放项目中使用的第三方jar包,其中的jar包会自动加入构建路径。

app/src/androidTest

用来编写Android Test测试用例,可以对项目进行自动化测试。

app/src/test

用来编写Unit Test测试用例,可以对项目进行自动化测试。

HelloWorld目录下除app文件夹外其他文件夹

gradle相关配置文件、编译器自动生成文件、项目相关配置文件、版本控制忽略文件等等。

  基本上Android视图中app下的文件夹都在Project视图中app/src/main下,日常开发中最常用的就是java文件夹、res文件夹、AndroidManifests.xml文件,稍微深一些就会用到jni文件夹、aidl文件夹、androidTest文件夹,其他的一些配置文件偶尔也会用到。

Android基础——项目的文件结构(一)的更多相关文章

  1. Android基础——项目的文件结构(三)

    Android基础--项目的文件结构(三) 代码源文件夹与资源文件夹 [注]此项目文件结构仅限于Android Studio下的Android项目!!! 在一个Android项目中,代码源文件夹有4个 ...

  2. Android基础——项目的文件结构(二)

    Android基础--项目的文件结构(二) AndroidManifest.xml文件分析 [注]此项目文件结构仅限于Android Studio下的Android项目!!! 在一个Android项目 ...

  3. android 基础项目及开发出现:error opening trace file: No such file or directory错误解决

    本身这个错误不影响运行,但是看着烦啊.解决方案几种如下: 1.xml标签不完整或者未关闭,常有的事.Eclipse并不是所有的xml标记都检查,单双标记什么的. 2.有人说,据说是 android a ...

  4. Android零基础入门第15节:掌握Android Studio项目结构,扬帆起航

    原文:Android零基础入门第15节:掌握Android Studio项目结构,扬帆起航 经过前面的学习,Android Studio开发环境已准备OK,运行Android应用程序的原生模拟器和Ge ...

  5. Android基础之用Eclipse搭建Android开发环境和创建第一个Android项目(Windows平台)

    一.搭建Android开发环境 准备工作:下载Eclipse.JDK.Android SDK.ADT插件 下载地址:Eclipse:http://www.eclipse.org/downloads/ ...

  6. Mono.Android 基础

    Mono.Android 基础 (地址) Mono.Android项目结构是 — Project + Assets + Resources + drawable + layout + values R ...

  7. fir.im Weekly - 1000 个 Android 开源项目集合

    冬天到了,适宜囤点代码暖暖身.本期 fir.im Weekly 收集了最近一些不错的 GitHub 源码.开发工具和技术实践教程类文章分享给大家. codeKK - 集合近 1000 Android ...

  8. 59.Android开源项目及库 (转)

    转载 : https://github.com/Tim9Liu9/TimLiu-Android?hmsr=toutiao.io&utm_medium=toutiao.io&utm_so ...

  9. 深入理解gradle编译-Android基础篇

    深入理解gradle编译-Android基础篇 导读 Gradle基于Groovy的特定领域语言(DSL)编写的一种自动化建构工具,Groovy作为一种高级语言由Java代码实现,本文将对Gradle ...

随机推荐

  1. [WC 2011]最大Xor和路径

    题目大意: 给你一张n个点,m条边的无向图,每条边都有一个权值,求:1到n的路径权值和的最大值. 题解: 任意一条路径都能够由一条简单路径(任意一条),在接上若干个环构成(如果不与这条简单路径相连就走 ...

  2. Oracle 数据库创建表空间、创建用户

    创建表空间 create temporary tablespace user_name_temp tempfile '/oradata/ORA11G/user_name_temp.dbf' size ...

  3. 初始python的类

    面向对象 一.面向对象 优点: 面向对象编程:是一类相似功能函数的集合,使你的代码更清晰化,更合理化. 面向对象,要拥有上帝的视角看问题,类其实就是一个公共模板,对象就从具体的模板实例化出来 类:就是 ...

  4. eclipse 配置opencv

    1 准备 eclipse 2017 JDK1.8 opencv 4.40 2 配置 新建java工程 添加jar包 选择opencv-xxx.jar包 加入原生库 选择原生库位置 确认即可,测试 新建 ...

  5. NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)

    错误信息: NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK) 错误背景:微服务不通过统一的nginx端口访问,能够正常请求接口并获取对应的响应.但是通过ngi ...

  6. 如何设计一个牛逼的API接口

    在日常开发中,总会接触到各种接口.前后端数据传输接口,第三方业务平台接口.一个平台的前后端数据传输接口一般都会在内网环境下通信,而且会使用安全框架,所以安全性可以得到很好的保护.这篇文章重点讨论一下提 ...

  7. 【值得收藏】C语言入门基础知识大全!从C语言程序结构到删库跑路!

    01 C语言程序的结构认识 用一个简单的c程序例子,介绍c语言的基本构成.格式.以及良好的书写风格,使小伙伴对c语言有个初步认识. 例1:计算两个整数之和的c程序: #include main() { ...

  8. Redis6 安装

    在centos7.5服务器上按照官方发布的安装方式并不能进行正确的安装,现收集并整理如下安装方式,亲测有效 1.安装依赖 yum install -y cpp binutils glibc glibc ...

  9. linux(centos8):配置docker的cgroup driver为systemd

    一,为什么要修改docker的cgroup driver? 1,什么是cgroups? cgroups(Control Groups) 是 linux 内核提供的一种机制 它可以限制.记录任务组所使用 ...

  10. 第三十三章 linux常规练习题(二)

    一.练习题一 1.删除用户基本组shanghai03.发现无法正常删除,怎样才能将其删除掉,不能删除用户.2.打开多个xshell窗口连接登录同一虚拟机,使用不同的用户登录多次,分别使用w和who命令 ...