Android应用目录结构

src -------------------------------------------java原代码存放目录

gen ------------------------------------------自动生成目录

  • 目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。 这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的资源,同步更新修改R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java。R.java在应用中起到了字典的作用,它包含了各种资源的id,通过R.java,应用可以很方便地找到对应资源。另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。

libs--------------------------------------------支持库目录

  • 程序开发时需要的一些三方的jar包可以放在这个目录,系统会自动把里面的jar包,添加到环境变量。

bin--------------------------------------------工程的编译目录.

  • 存放一些编译时产生的临时文件和当前工程的.apk文件.

assets-----------------------------------------资源目录

  • Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径,如:file:///android_asset/xxx.3gp

AndroidManifest.xml-----------------------项目清单文件

  • 这个文件列出了应用程序所提供的功能,以后你开发好的各种组件需要在该文件中进行配置,如果应用使用到了系统内置的应用(如电话服务、互联网服务、短信服务、GPS服务等等),你还需在该文件中声明使用权限。

project.properties--------------------------项目环境信息

  • 指定当前工程采用的开发工具包的版本,一般是不需要修改此文件

proguard-project.txt-----------------------加密当前程序所使用.

res---------------------------------------------资源(Resource)目录

  • 在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。
  • res/drawable
    • 专门存放png、jpg等图标文件。在代码中使用getResources().getDrawable(resourceId)获取该目录下的资源。
  • res/layout专门存放xml界面文件,xml界面文件和HTML文件一样,主要用于显示用户操作界面。
  • res/values 专门存放应用使用到的各种类型数据。不同类型的数据存放在不同的文件中,
    • 如下:
      • strings.xml
        • 定义字符串和数值,在Activity中使用getResources().getString(resourceId) 或getResources().getText(resourceId)取得资源。它的作用和struts中的国际化资源文件一样。
      • arrays.xml
        • 定义数组。
      • colors.xml
        • 定义颜色和颜色字串数值,你可以在Activity中使用getResources().getDrawable(resourceId) 以及getResources().getColor(resourceId)取得这些资源。
      • dimens.xml
        • 定义尺寸数据,在Activity中使用getResources().getDimension(resourceId) 取得这些资源
      • styles.xml
        • 定义样式。
  • res/anim/ 存放定义动画的XML文件。
  • res/xml/ 在Activity中使用getResources().getXML()读取该目录下的XML资源文件。
  • res/raw/ 该目录用于存放应用使用到的原始文件,如音效文件等。
  • values-sw600dp 7寸平板所对应的值
  • values-sw720dp-land 10寸平板所对应的值
  • values-v11 指定3.0版本以上的手机显示的样式.
  • values-v14 指定4.0版本以上的手机显示的样式.

编译软件时,这些数据不会被编译,它们被直接加入到程序安装包里。为了在程序中使用这些资源,你可以调用getResources().openRawResource(ID) , 参数ID形式:R.raw.somefilename。

打包安装过程(Run as Android Application ) :

生成apk文件.

  1. 生成.dex文件.
  2. 资源索引表的生成resources.arsc.
  3. 准备未编译文件.
  4. 清单文件AndroidMenifest.xml文件转换成二进制.
  5. 使用debug.keystore对整个应用程序进行打包签名.

加载apk文件到模拟器中.

  1. 把apk文件加载到/data/local/tmp/xxx.apk

安装应用程序.

  1. 把/data/local/tmp/xxx.apk文件, 剪切/data/app/包名-1.apk
  2. 在/data/data/文件夹下以包名创建一个文件夹, 用于存储当前程序的数据.
  3. 在packages.xml和packages.list文件中分别添加一条记录.

ADB常用操作

adb devices 列出所有的设备

adb start-server 开启adb服务

adb kill-server 关闭adb服务

adb logcat 查看Log

adb shell 挂载到Linux的空间

adb install <应用程序(加扩展名)> 安装应用程序

adb –s <模拟器名称> install <应用程序(加扩展名)> 安装应用到指定模拟器

adb uninstall <程序包名>

adb pull <remote> <local>

adb push <local> <remote>

emulator –avd <模拟器名称>

ctrl + F11 横竖屏的切换

1.3……Eclipse下开发Android相关知识的更多相关文章

  1. 03匿名内部类、eclipse快捷键、String相关知识

    03匿名内部类.eclipse快捷键.String相关知识-2018.7.11 1.匿名内部类(只针对重写一个方法时候使用,不能向下转型,因为没有子类类名) new Inter(){ public v ...

  2. 4-1eclipse & 4-2在eclipse下开发Java

    ecplise是一款继承的开发工具,可以开发我们的java程序. 下载地址: https://www.eclipse.org/downloads/ 视频中ecplise的版本 安装Ecplise: 默 ...

  3. 在Eclipse下搭建Android开发环境教程

    我们昨天向各位介绍了<在NetBeans上搭建Android SDK环境>,前不久也介绍过<在MyEclipse 8.6上搭建Android开发环境>, 都受到了读者的欢迎.但 ...

  4. 【转】在Eclipse下搭建Android开发环境教程

    本文将全程演示Android开发环境的搭建过程,无需配置环境变量.所有软件都是写该文章时最新版本,希望大家喜欢.   一 相关下载 三 Eclipse配置 (1)Java JDK下载 1 安装andr ...

  5. Android开发 发布相关知识

    1 三种BuildSystem简介 注意:ADT不要用了,在2017版本已经没有了.而且这就是一个巨坑,以前打包cocos的时候,学习的时候用这个,ADT是eclipse中的一个集成的东东,已经绝版, ...

  6. PhoneGap 在eclipse上开发Android程序

    本文将记录在Eclipes上开发Android App,在使用的方法是Hybrid App(混合模式移动应用), 由于本人的工作需要,将要开发在车间使用的数据录入程序,但是其中有非常多的逻辑验证和判断 ...

  7. Android——eclipse下运行android项目报错 Conversion to Dalvik format failed with error 1解决

    在eclipse中导入android项目,项目正常没有任何错误,但是运行时候会报错,(clean什么的都没用了.....)如图: 百度大神大多说是jdk的问题,解决: 右键项目-Properties如 ...

  8. eclipse下开发简单的Web Service

    service部分 在eclipse下新建一个动态web项目 在项目中新建一个service类 编写SayHello类的代码 package org.sunny.service; //包不要引用错了 ...

  9. 在mac os下编译android -相关文章

    1. Mac OS X下编译Android源码 http://blog.csdn.net/bulreed/article/details/22783467 2.MAC OS 编译 Android源代码 ...

随机推荐

  1. 解决Nginx下WordPress后台404的问题

    在把这个博客做好后,上传到nginx服务器上却出现问题. 首先是wordpress官方的伪静态是通过.htaccess实现的,但nginx并不支持.htaccess,无奈只好在网上找到wordpres ...

  2. 5、处理模型数据ModelAndView、Map、Model以及@SessionAttributes注解

    Spring MVC提供了以下几种途径输出模型数据 —— ModelAndView: 处理方法返回值类型为ModelAndView时,方法体即可通过该对象添加模型数据.数据会添加到request域中. ...

  3. iptables配置——NAT地址转换

    iptables nat 原理同filter表一样,nat表也有三条缺省的"链"(chains): PREROUTING:目的DNAT规则 把从外来的访问重定向到其他的机子上,比如 ...

  4. 基于条件随机场(CRF)的命名实体识别

    很久前做过一个命名实体识别的模块,现在有时间,记录一下. 一.要识别的对象 人名.地名.机构名 二.主要方法 1.使用CRF模型进行识别(识别对象都是最基础的序列,所以使用了好评率较高的序列识别算法C ...

  5. Hibernate的一个注释 @Transient

    @Transient表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性. 如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient,否则,ORM框架默认其注解为@Basi ...

  6. Android手机开机自动启动

    package com.example.x_yp.system_camera; import android.content.BroadcastReceiver; import android.con ...

  7. Android系统服务-WindowManager

      WindowManager是Android中一个重要的服务 (Service ).WindowManager Service 是全局的,是唯一的.它将用户的操作,翻译成为指令,发送给呈现在界面上的 ...

  8. UVa 11181 (条件概率) Probability|Given

    题意: 有n个人买东西,第i个人买东西的概率为Pi.已知最终有r个人买了东西,求每个人买东西的概率. 分析: 设事件E为r个人买了东西,事件Ei为第i个人买了东西.所求为P(Ei|E) = P(EiE ...

  9. POJ 1088 滑雪【记忆化搜索】

    题意:给出一个二维矩阵,要求从其中的一点出发,并且当前点的值总是比下一点的值大,求最长路径 记忆化搜索,首先将d数组初始化为0,该点能够到达的路径长度保存在d数组中,同时把因为路径是非负的,所以如果已 ...

  10. sql server压缩数据库和日志文件

    DBCC SHRINKDATABASE 功能:压缩数据库 用法:DBCC SHRINKDATABASE tb_115sou_com 注意:只有产生许多未使用空间的操作(如截断表或删除表操作)后,执行收 ...