Android基础——项目的文件结构(一)
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基础——项目的文件结构(一)的更多相关文章
- Android基础——项目的文件结构(三)
Android基础--项目的文件结构(三) 代码源文件夹与资源文件夹 [注]此项目文件结构仅限于Android Studio下的Android项目!!! 在一个Android项目中,代码源文件夹有4个 ...
- Android基础——项目的文件结构(二)
Android基础--项目的文件结构(二) AndroidManifest.xml文件分析 [注]此项目文件结构仅限于Android Studio下的Android项目!!! 在一个Android项目 ...
- android 基础项目及开发出现:error opening trace file: No such file or directory错误解决
本身这个错误不影响运行,但是看着烦啊.解决方案几种如下: 1.xml标签不完整或者未关闭,常有的事.Eclipse并不是所有的xml标记都检查,单双标记什么的. 2.有人说,据说是 android a ...
- Android零基础入门第15节:掌握Android Studio项目结构,扬帆起航
原文:Android零基础入门第15节:掌握Android Studio项目结构,扬帆起航 经过前面的学习,Android Studio开发环境已准备OK,运行Android应用程序的原生模拟器和Ge ...
- Android基础之用Eclipse搭建Android开发环境和创建第一个Android项目(Windows平台)
一.搭建Android开发环境 准备工作:下载Eclipse.JDK.Android SDK.ADT插件 下载地址:Eclipse:http://www.eclipse.org/downloads/ ...
- Mono.Android 基础
Mono.Android 基础 (地址) Mono.Android项目结构是 — Project + Assets + Resources + drawable + layout + values R ...
- fir.im Weekly - 1000 个 Android 开源项目集合
冬天到了,适宜囤点代码暖暖身.本期 fir.im Weekly 收集了最近一些不错的 GitHub 源码.开发工具和技术实践教程类文章分享给大家. codeKK - 集合近 1000 Android ...
- 59.Android开源项目及库 (转)
转载 : https://github.com/Tim9Liu9/TimLiu-Android?hmsr=toutiao.io&utm_medium=toutiao.io&utm_so ...
- 深入理解gradle编译-Android基础篇
深入理解gradle编译-Android基础篇 导读 Gradle基于Groovy的特定领域语言(DSL)编写的一种自动化建构工具,Groovy作为一种高级语言由Java代码实现,本文将对Gradle ...
随机推荐
- SCOI 2008 【奖励关】
早上的考试一道都做不出,被教做人,心态爆炸ing...... 题目描述: 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关.在这个奖励关里,系统将依次随机抛出k次宝物,每次你都可以选择吃或者不吃(必 ...
- HanLP的分词统计
HanLP的分词效果鄙人研究了HanLP,他的分词效果确实还可以,而且速度也比较快,10的数据是9000毫秒 @SneakyThrows@Overridepublic LinkedHashMap< ...
- CSS语法规范与代码风格
CSS语法规范与代码风格 1. 语法规范 CSS规则又两个主要的部分构成:选择器+一条或多条声明. 选择器:用于指定CSS样式的HTML标签,花括号内的是设置的具体样式 属性与属性值以键值对的形式出现 ...
- 发布MeteoInfo Java 1.2.1
主要增加了合并netCDF文件的功能.在不同时间netCDF文件合并时考虑了不同文件起始时间不同的情况.
- c3算法
# L(G) = [G] + [O] # G = [O] # = GO # L[E] = EO # L[F] = [F] + [GO] # F = [GO] # = FGO # L[B] = [B] ...
- Verilog基础入门——Vivado流水灯工程(四)(实验报告)
今日进行了数字逻辑实验,完成了一个最简单的FPGA设计,即流水灯设计. 此处记录我们的指导文件以及实验报告,同时记录遇到的问题及解决方法. 一.vivado工程源文件编写 counter.v文件 `t ...
- charles详解
Charles抓包https:https://www.jianshu.com/p/ec0a38d9a8cf 浅谈charles抓取https原理:https://www.jianshu.com/p/4 ...
- golang xpath解析网页
https://github.com/antchfx/htmlquery package main import ( "fmt" "github.com/antchfx/ ...
- 彩贝网app破解登入参数(涉及app脱壳,反编译java层,so层动态注册,反编译so层)
一.涉及知识点 app脱壳 java层 so层动态注册 二.抓包信息 POST /user/login.html HTTP/1.1 x-app-session: 1603177116420 x-app ...
- 一个鲜为人知但很实用的Windows使用技巧
作为一个电脑党,最无法忍受的就是每次开机都要手动打开那些必要的程序.有没办法让这些程序自动打开呢?今天小编意外地得到了一个方法,现在分享给大家. (以腾讯桌面整理为例) 1,Win + R 2,输入t ...