/**************2016年4月23更新*********************/

相关技术:

知乎:用eclipse做Android开发,新建工程时应如何选择Android的版本?

肥肥鱼:

Mini Required SDK:你的 App 所支持的最小 SDK 版本;

Target SDK:你的 App 所针对的目标 SDK 版本,这个一般是主流版本,因为编译系统会针对该版本进行优化;

Compile SDK:用于编译的 SDK 版本。一般会使用跟 Target SDK 相同的配置。

知乎:AndroidStudio不同Sdk Version什么意思?

target sdk version------build tools version-------compile sdk version

这3个不同的version分别什么意思?求教

从你的解释中,我是不是可以这么说,为了做到对API4.0系统的兼容,我只关注或者说主要关注minSdkVersion就可以了。buildToolsVersion跟compiledSdkVersion越新越好

张鹏:

build tools version

Build Tools,顾名思义,编译用的工具。这个包含很多工具,比较重要的有:

aapt:生成R文件,unsigned Apk;

dx:将java字节码转成Dalvik 的字节码;

zipalign :对apk做一些优化

compile sdk version

你目前的项目会用这个版本的sdk编译,新的sdk会加入新的特性,会有一些优化。你写的程序里调用的Android的方法就是从这里来的。

target sdk version

这个我也不是很清楚,,一般我都是写最高的版本号。。

赠送Support Library Version:

新版本的sdk中会有一些新的方法,但是旧的Android版本中并不存在这些方法。为了能让旧版本Android中也能使用一些新的特性,就可以使用一个额外的lib放到程序里面,这样旧版本也能这种办法来实现新特性了。例如,在2.3上使用ActionBar,Fragment等。

祝传鹏:

comiledSdkVersion对应的是你app编译的版本号。默认对应的是你SDK中的最新版本。(至少是android4.1或者更高,如果你没有4.1或者更高的版本,你应该用SDK Manager安装一个)。你仍然可以使你的app支持更老的版本,但是设置compiledSdkVersion为最新版本会让你能够启用一些新特性,并且让你的app在最新的设备上得到优化。

minSdkVersion是你app支持的最早的版本。

个人意见。2014年之后新的app,支持到4.0就可以了。除非像淘宝,支付宝微信那样的巨型app。否则上古的android版本可以抛弃了。即便是微信,新版本也不支持2.3了

targetSdkVersion指出了你的app已经测试过的最高android版本。

build tools version,单纯是指的android SDK中安装的buildTool的版本号。假如这个设置错误,你的AS会报错。提示你找不到对应版本号的编译工具。一般网上下载的project会有这样的问题。需要重新设置。

知乎:Android是如何使用AndroidManifest.xml的?

就好比broadcast,不需要启动程序就能接受广播,依靠的就是AndroidManifest.xml中的intent-filter,想问下,AndroidManifest.xml文件是在程序安装的时候就写进了系统的某个配置文件中,还是每次开机读取一次所有应用的AndroidManifest.xml文件?

sznj

Android正是每次开机(或者APK安装等调用packagemanager的操作)的时候会去读取/解析manifest文件,读取里面的version、permission、intent 等信息。

发现题主是几年前提出的这个问题,所以又去确认了一下 Android 的早期版本(android-1.6_r1.5),处理方法是一样的。

/********************************************************************/

1. HelloWorld项目

Application Name : 应用名称,展示在应用市场和设置中应用列表里面

Project Name : 项目名称,只是在eclipse里使用

Package Name : 包名称,必须独一无二

Minimum Required SDK : 要求的最低版本的android系统

Target SDK : 兼容的最高版本的android系统

Compile With : 使用某版本SDK编译,一般是最高版本

Theme : 主题样式

2. 目录结构

asset : 资产目录,一些文件会被打包到apk里面

bin : 编译后的文件目录,可以删除

gen : 自动生成的目录,有R.java

Android6.0 : android的sdk,android.jar

libs : 第三方库,例如:v4包 因为4.0以上添加了很多新的api在2.0上没有所以要用这个jar包

res : 资源目录

Drawable-hdpi drawable图片资源 h hign 高分辨率

Drawable-ldpi l low 低分辨率

Drawable-mdpi m middle 中分辨率

Drawable-xhdpi xh 大分辨率

Drawable-xxhdpi xxh 超大分辨率

layout 布局文件目录

project.properties : 项目特性,里面是指定的sdk版本编译,

AndroidManifest.xml : 清单文件

<?xml version="1.0" encoding="utf-8"?>
<!-- [包名,一个手机里面唯一的包名] -->
<!-- [应用的版本信息] -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.helloworld"
android:versionCode="1"
android:versionName="1.0" >
<!-- [支持的最低的android系统版本和最高的android系统版本] -->
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="23" />
<!-- [icon图标,应用名称] -->
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<!-- [activity名称和显示名称] -->
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<!-- [意图过滤器,入口和启动] -->
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application> </manifest>

注意: 如果遇到eclipse崩溃了,又可能是模拟器服务端挂掉了,杀掉重启就好,如果遇到sdk编译错误可以使用 项目右键android tools -> fix project properties

[android]android项目的目录结构的更多相关文章

  1. android学习——项目的目录结构

    学习开发之前要了解工程目录下的文件夹下文件的用意,是以HelloWorld为例: 1.HelloWorld项目的目录结构 1.1.src文件夹 1.2.gen文件夹 1.3.Android 2.1文件 ...

  2. Android MAVEN项目标准目录结构

    1.标准目录结构: src -main      –bin 脚本库      –java java源代码文件      –resources 资源库,会自动复制到classes目录里      –fi ...

  3. Android开发学习——Android项目的目录结构

    Android项目的目录结构: 资源文件夹: 清单配置文件: Android的四大组件在使用前全部需要在清单文件中配置 <?xml version="1.0" encodin ...

  4. Android开发系列之Android项目的目录结构

    今天开始正式学习Android开发的种种细节,首先从最基本的概念和操作学起. 首先看一下Android项目的目录结构. 这是我随便建立的一个test项目,我们重点关注一下几个方面的内容: 1.src目 ...

  5. Android开发之旅2:HelloWorld项目的目录结构

    引言 前面Android开发之旅:环境搭建及HelloWorld,我们介绍了如何搭建Android开发环境及简单地建立一个HelloWorld项目,本篇将通过HelloWorld项目来介绍Androi ...

  6. Android项目的目录结构 初学者记录

    Android项目的目录结构 Activity:应用被打开时显示的界面 src:项目代码 R.java:项目中所有资源文件的资源id Android.jar:Android的jar包,导入此包方可使用 ...

  7. android项目的目录结构讲解

    参考书籍:<第一行代码Android> 一:android项目的目录结构讲解 1..gradle和.idea         这两个目录下放置的都是Android Studio自动生成的一 ...

  8. android源码的目录结构

    android源码的目录结构 [以下网络摘抄] |-- Makefile ! l/ a5 n% S% @- `0 d# z# a$ P4 V3 o7 R|-- bionic              ...

  9. Go 项目的目录结构 及 安装技巧

    项目目录结构如何组织,一般语言都是没有规定.但 Go 语言这方面做了规定,这样可以保持一致性 1.一般的,一个 Go 项目在 GOPATH 下,会有如下三个目录: |--bin |--pkg |--s ...

  10. Maven项目的目录结构+maven的安装与配置

    1.首先下载maven,然后配置环境变量,在MyEclipse里面配置maven 2.配置maven的pom.xml文件 3.下载和更新资源 右击项目,有一个Maven4Myeclipse,里面有三个 ...

随机推荐

  1. BUAA-OO-第一单元总结

    BUAA-OO第一单元博客总结 第一次作业总结 (1)类关系图 第一次作业类图关系简单,仅有一个Poly封装类以及一个Main主类调用Poly,Poly封装类内部完成了包括对象构造,求导,生成字符串的 ...

  2. 刚发现 CSS 还存在一个命名规范 B.E.M

    Block !误区:这个block并非inline-block里的block,而是将所有东西都划分为一个独立的模块,一个header是block,header里嵌套的搜索框是block,甚至一个ico ...

  3. NeuChar 平台使用及开发教程(六):成为开发者

    在上一篇<NeuChar 平台使用及开发教程(五):使用 NeuChar 的关键字回复服务>中,我们已经学习了如何命中关键字来反馈特定格式内容的信息,这是由微信开发者/运营者自己来维护的信 ...

  4. 字符串匹配(二)----KMP算法

    什么是KMP算法: KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt同时发现,因此人们称它为克努特——莫里斯——普拉特操作(简称KMP算法).KMP ...

  5. storm集群架构

    一.storm何许人也? Storm 是Twitter的一个开源框架.Storm一个分布式的.容错的实时计算系统,它被托管在GitHub上,遵循 Eclipse Public License 1.0. ...

  6. MySQL乐观锁为什么可以防止并发

    问题引入 本文介绍的是最常用的也是mysql默认的innoDB引擎 Read committed隔离级别下事物的并发.这种情况下的事物特点是 读:在一个事物里面的select语句 不会受到其他事物(不 ...

  7. MyEclipse设置Console输出到文件

    Java程序默认输出为Console,如果要想将Console输出结果保存到文件中,则需要做如下配置: 在JAVA程序上右键--> Run As --> Run Configuration ...

  8. [Swift]LeetCode703. 数据流中的第K大元素 | Kth Largest Element in a Stream

    Design a class to find the kth largest element in a stream. Note that it is the kth largest element ...

  9. python—day9 函数的定义、操作使用方法、函数的分类、函数的嵌套调用

    一.函数的定义 函数的四个组成部分: 函数名. 函数体. 函数返回值. 函数参数 1.概念:重复利用的工具,可以完成特定功能的代码块,函数是存放代码块的容器 2.定义: def:声明函数的关键词 函数 ...

  10. 【Scala篇】--Scala中Trait、模式匹配、样例类、Actor模型

    一.前述 Scala Trait(特征) 相当于 Java 的接口,实际上它比接口还功能强大. 模式匹配机制相当于java中的switch-case. 使用了case关键字的类定义就是样例类(case ...