Android开发学习总结(五)——Android应用目录结构分析
一、手动创建android项目
手动创建一个Android项目,命名为HelloWorld,命令如下:
android create project -n HelloWorld -t -p E:/Android/workspace/Helloworld -k me.gacl.helloworld -a Helloworld
上面的命令中,-n指定项目的名称,-t指定android平台,-p指定项目存放路径,-k指定项目包名,-a指定Activity名称。
使用命令 android list targets 可查看可选的android平台,如下图所示:

由于我使用SDK Manager只下载了最新版本的Android5.0.1和Google Inc,因此"android list targets"命令查看到的可选的android平台就只有2个,可以看到,1对应的target是android-21,也就是Android 5.0.1。
运行上面的命令可以在E:/Android/workspace/Helloworld目录下创建一个Android项目,如下图所示:

生成的Android项目的目录结构如下图所示:

二、Android目录结构说明
HelloWorld
|----bin
|----libs
|----res
| |----drawable-ldpi
| |----drawable-mdpi
| |----drawable-hdpi
| |----drawable-xhdpi
| |----layout
| | |----main.xml
| |----values
| |----strings.xml
|----src
| |----me
| |----gacl
| |----helloworld
| |----Helloworld.java
|----AndroidManifest.xml
|----ant.properties
|----build.xml
|----local.properties
|----proguard-project.txt
|----project.properties
下面介绍一下Android项目的主要目录和文件:
【bin】目录:该目录用于存放生成的目标文件,例如Java的二进制文件、资源打包文件(.ap_后缀)、Dalvik虚拟机的可执行性文件(.dex后缀),打包好应用文件(.apk后缀)等。
【libs】目录:该目录用于存放需要使用的第三方jar包文件
【res】目录:该目录用于存放Android项目的各种资源文件,比如【layout】目录存放界面布局文件,例如main.xml,【values】目录下则存放各种XML格式的资源文件, 例如字符串资源文件:strings.xml;颜色资源文件:colors.xml; 尺寸资源文件:dimens.xml。 【drawable-ldpi】、【drawable-mdpi】、【drawable-hdpi】、【drawable-xhdpi】这4个子目录分别用于存放"低分辨率"、"中分辨率"、"高分辨率"、"超高分辨率"的4种图片文件。
【src】目录:该目录用于存放java源文件
【AndroidManifest.xml】文件是Android项目的系统清单文件,它用于控制Android应用的名称、图标、访问权限等整体属性。 除此之外Android应用的Activity、Service、ContentProvider、BroadcastRecevier这4大组件都需要在该文件中配置。
Android开发学习总结(五)——Android应用目录结构分析的更多相关文章
- Android开发学习总结(五)——Android应用目录结构分析(转)
一.手动创建android项目 手动创建一个Android项目,命名为HelloWorld,命令如下: android create project -n HelloWorld -t 1 -p E:/ ...
- Android开发学习之路--Android Studio cmake编译ffmpeg
最新的android studio2.2引入了cmake可以很好地实现ndk的编写.这里使用最新的方式,对于以前的android下的ndk编译什么的可以参考之前的文章:Android开发学习之路– ...
- Android开发学习之路--Android系统架构初探
环境搭建好了,最简单的app也运行过了,那么app到底是怎么运行在手机上的,手机又到底怎么能运行这些应用,一堆的电子元器件最后可以运行这么美妙的界面,在此还是需要好好研究研究.这里从芯片及硬件模块-& ...
- Android开发学习之路--Android Studio项目目录结构简介
既然已经搭建好环境了,那就对Android Studio中项目目录结构做个简单的了解了,这里以最简单的Hello工程为例子,新建好工程后看如下三个工程视图: 1.Android工程 manifests ...
- Android开发学习之路-Android Studio开发小技巧
上一次发过了一个介绍Studio的,这里再发一个补充下. 我们都知道,Android Studio的功能是非常强大的,也是很智能的.如果有人告诉你学Android开发要用命令行,你可以告诉他Andro ...
- Android开发学习之路-Android中使用RxJava
RxJava的核心内容很简单,就是进行异步操作.类似于Handler和AsyncTask的功能,但是在代码结构上不同. RxJava使用了观察者模式和建造者模式中的链式调用(类似于C#的LINQ). ...
- Android开发学习之路-Android N新特性-多窗口模式
我们都知道,在最新的Android N系统中,加入了一个新的功能,就是多窗口模式.多窗口模式允许我们在屏幕上显示两个窗口,每个窗口显示的内容不同,也就是说,我们可以一遍看电视剧,一边聊微信. 这里我们 ...
- Android开发学习之路-Android Design Support Library使用(CoordinatorLayout的使用)
效果图: 上面的这个图有两个效果是,一个是顶部的图片,在上滑之后会隐藏起来并且显示出一个ToolBar(ToolBar类似于ActionBar,但是只有ToolBar是兼容Material Desig ...
- Android开发学习笔记-关于Android的消息推送以及前后台切换
下面是最简单的Android的消息推送的实现方法 package com.example.shownotic; import java.util.Random; import android.supp ...
随机推荐
- ---ps 命令
ps 的命令真复杂啊! 值得注意的是选项的 -e e 这两个是不同的 -e的选项和x的意思相当 而e 的意思是改变显示栏目内容了 我个人用单字母的比较多 ps f -eo pid,uid,gid,us ...
- objective c,copy, mutableCopy区别
copy总是返回不能被修改的对象,mutableCopy返回可以被修改的对象 例: NSArray *array = @[@"test", @"test2"]; ...
- Jmeter上传文件
Jmeter上传文件 一.Fiddler抓包获取表单信息 操作被测系统,上传文件,Fiddler抓包获取提交表单信息如下:
- avalon2学习教程09循环操作
avalon2的循环指令的用法完全改变了.avalon最早期从knockout那样抄来ms-each,ms-with,分别用于数组循环与对象循环.它们都是针对元素内容进行循环.后来又从angular那 ...
- VirtualBox 内的 Ubuntu Server 虚拟机网络配置
环境: 宿主机:Windows 7,单网卡: 虚拟机:ubuntu-14.04.1-server-amd64: 宿主机上网是连接的路由器,IP 地址是通过 DHCP 服务自动获取的: 基本情况: Ub ...
- Net分布式系统之二:CentOS系统搭建Nginx负载均衡(下)
上一篇文章介绍了VMWare12虚拟机.Linux(CentOS7)系统安装.部署Nginx1.6.3代理服务做负载均衡.接下来介绍通过Nginx将请求分发到各web应用处理服务. 一.Web应用开发 ...
- HDU 5410 CRB and His Birthday(完全背包变形)
CRB and His Birthday Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Oth ...
- JQuery中$(document)是什么意思有什么作用
$(document).ready(fn):当DOM载入就绪可以查询及操纵时绑定一个要执行的函数,因为它可以极大地提高web应用程序的响应速度 首先我解释一下jQuery jQuery有一个用来作为D ...
- DrawingControl控件在Add Page时报故障的问题
Visio二次开发用到了Drawing Control控件.在控件上添加新页面时,visual编译器报内存保护故障“尝试读取或写入受保护的内存.这通常指示其他内存已损坏.”,这个问题困扰了我很久,最后 ...
- 自动布局之autoresizingMask
UIViewAutoresizing是一个枚举类型,默认是UIViewAutoresizingNone,也就是不做任何处理. 1 2 3 4 5 6 7 8 9 typedef NS_OPTIONS( ...