菜鸟学安卓Log.v(“第五篇”)——安卓工程目录的介绍及打包安卓应用程序及安装过程
来源:互联网 发布:《梦里花落知多少》txt 编辑:程序博客网 时间:2024/05/29 18:21
安卓的工程目录如下图:
下面是res文件夹,双击展开后得下图
工程目录结构:
src: 存放java代码
gen: 存放自动生成文件的. R.java 存放res文件夹下对应资源的id
libs: 当前工程所依赖的jar包.
assets: 放置一些程序所需要的媒体文件.
bin: 工程的编译目录. 存放一些编译时产生的临时文件和当前工程的.apk文件.
res(resources): 资源文件.
drawable: 存放程序所用的图片.
layout: 存放android的布局文件.
menu: 存放android的OptionsMenu菜单的布局.
values (应用程序所需要的数据. 会在R文件中生成id)
strings.xml 存放android字符串.
dimens.xml 存放屏幕适配所用到的尺寸.
style.xml 存放android下显示的样式.
values-sw600dp 7寸平板所对应的值
values-sw720dp-land 10寸平板所对应的值
values-v11 指定3.0版本以上的手机显示的样式.
values-v14 指定4.0版本以上的手机显示的样式.
AndroidManifest.xml: android 应用程序的入口文件. 声明了android里边的组件. 和相关配置信息.
proguard-project.txt: 加密当前程序所使用.
Project.properties指定当前工程使用的安卓开发工具包的版本,可以在这里面修改开发工具包的版本
现在来特别对配置文件AndroidManifest.xml作一个解析:
配置文件就是我们对一个安卓程序的全局信息的描述,类似于一篇文章的大纲的概念,安卓中是用xml格式来写配置文件的,xml我会在下一篇来详细学习。
下图是一个最初始的配置文件内容:
图中的注释就是每个标签的作用。
打包安卓应用程序及安装过程:
当我们完成一个安卓应用程序的java代码后,就会将这个程序安装到安卓模拟器上进行运行和测试(即执行run as Android application)。
成功安装一个安卓程序的过程如下下图:
1. 生成apk文件.
1). 编译生成.dex文件.(.java->javac->.class->dx.bat->.dex)
2). 编译资源索引表的生成resources.arsc.(这个过程又包括:
1.xml资源文件从文本格式编译转换为二进制 格式
2.生成资源索引表resources.arsc
3.把resources.arsc转换成二进制格式
)
3). 准备未编译文件.
4). 清单文件AndroidMenifest.xml文件转换成二进制.
5). 使用debug.keystore对整个应用程序进行打包签名.
2. 加载apk文件到模拟器中.
把apk文件加载到/data/local/tmp/xxx.apk
3. 安装应用程序.
1). 把/data/local/tmp/xxx.apk文件, 剪切到/data/app/包名-1.apk
2). 在/data/data/文件夹下以包名创建一个文件夹, 用于存储当前程序的数据.
3). 在packages.xml和packages.list文件中分别添加一条记录.
系统应用和第三方下载的应用:
打开DDMS视图点击安卓目录管理可看到如图,最上面一个红色的圈app是在data下,这个app文件夹下装的是一些从第三方平台
下载的apk应用程序,最下面一个红色的圈app是在system下,这个app文件夹下装的是系统的apk应用程序,一般不可以卸载。
- 菜鸟学安卓Log.v(“第五篇”)——安卓工程目录的介绍及打包安卓应用程序及安装过程
- 菜鸟学安卓Log.v(“第二篇”)——安卓的体系结构
- 菜鸟学安卓Log.v(“第三篇”)——不用搭建下载即可使用的安卓开发环境
- 【Unity】安装及安卓打包
- 安卓应用程序安装过程
- 安卓各种资源介绍及使用方法及工程各文件夹的介绍
- 安卓工程目录
- 安卓日志——Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)
- 安卓各种资源介绍及使用方法以及工程各文件夹的介绍
- 安卓各种资源介绍及使用方法以及工程各文件夹的介绍
- 安卓应用打包安装过程
- 菜鸟的安卓内核开发之旅1--安装Ubuntu及熟悉常用linux命令
- 安卓应用打包和安装的过程
- UE4|安卓打包流程及常见问题
- 安卓安装及配置
- 安卓——简单介绍及显示helloWorld
- 安卓虚拟机介绍及透视图介绍
- 安卓工程的目录结构
- Leetcode210-Course Schedule II
- Android实习周记:第二周,(IT==不停的学习) is TRUE
- UVA 1415 Gauss Prime(高斯素数)
- oracle最新sql回忆性演练1
- 冒泡排序和二分查找
- 菜鸟学安卓Log.v(“第五篇”)——安卓工程目录的介绍及打包安卓应用程序及安装过程
- HDU 1754 ——简单线段树
- sqlite3常用命令
- hacker发展流程图 菜菜学习中
- RESTful API 设计最佳实践
- UVA 11916 Emoogle Grid(模指数方程)
- 什麼是REST跟RESTful?
- URAL 1353 Milliard Vasya's Function(数位DP)
- C语言类型强制转换