一、v4、v7、v13的作用和用法

1、Android Support V4, V7, V13是什么?

本质上就是三个java library。

2、为什么要有support库?

  是为了解决软件的兼容问题。如果在低版本Android平台上开发一个应用程序,而应用程序又想使用高版本才拥有的功能,就需要使用Support库。 
  android api向来是高版本兼容低版本.如api-8(android2.2)必会兼容api-4(android 1.6).但是反之则不会,你使用2.2的平台版本build了一个apk,若想能在1.6的手机上运行,则需要在build之前使用兼容包,来做向下兼容. 
  android support-xx是google官方的向下兼容包.如名所示,会帮助构建程序向下兼容到1.6版本.不过也并非万能的,还是会受限制. 
  Android 为了兼容2.X以下的版本,所以出了android.support.v4的包,该包的主要作用是便于开发者在2.X的开发环境中,使用4.0的控件。

3、三个Support 库的区别和作用是什么?

   简单说明下这几个版本间的区别:

  • Android Support v4: 这个包是为了照顾1.6及更高版本而设计的,这个包是使用最广泛的,eclipse新建工程时,都默认带有了。

  • Android Support v7: 这个包是为了考虑照顾2.1及以上版本而设计的,但不包含更低,故如果不考虑1.6,我们可以采用再加上这个包,另外注意,v7是要依赖v4这个包的,即,两个得同时被包含。

  • Android Support v13 :这个包的设计是为了android 3.2及更高版本的,一般我们都不常用,平板开发中能用到。

4、Android Support 包里究竟有什么

http://www.2cto.com/kf/201411/350928.html

二、看一个javaee项目(使用myeclipse开发)

  • jre system library:JRE system library里面的jar是java运行依赖的类库(很多的jar包)。

  • Java EE 5 libraries:Java EE libraries里面的jar是运行web工程依赖的类库(很多的jar包)。

  • referenced libraries:是项目需要引用的类库,这里直接就是lib下的东西的引用。

  • lib:放第三方的各种项目所需的jar包。添加jar包到lib里面,系统自动把jar加载到referenced libraries中。

三、看一个android项目(使用eclipse开发)

  • Android4.4:直接支持的jar包,我们开发软件可以不用v4,用这个包里的内容也可以,但是为了兼容性,必须用v4.

  • Android Private Libraries:表示放在libs里面的jar包引用,视为私有引用。存放的是android私有的库(libs目录下的)。添加jar包到libs里面,系统自动把jar加载到android private libraries中;Private Libraries 就是libs里面的jar包的映射!你把libs中的jar包移除 Private Libraries中也就没有了。

  • Libs:不再说明

  另外其实还有一个android Dependency,暂时不知道android Dependency和Android Private Libraries的区别: 
  百度的一种答案: 
  Android Private Libraries引用的是第三方jar包,dependencies是引用的libraries。

  java中library和jar包有什么区别? 
  library是类库,就是一堆.jar文件的集合.一般情况下都是若干个.class文件能实现一组功能,这时候便可以把这些.class文件打包成.jar文件.比如说当需要使用集合类的时候,咱们需要import java.uitl.*; 对应的就是一个jar包(.jar文件)它里面就是一堆.class文件. 
  基本上是没有什么区别的,但是你可以这么理解:LIB中的东西一般是比较正规化的东西,而JAR包里面是随便是什么人都是可以打的,但是具体用处到底有多大那就不一定了。但是如果做到比较好的话,那么LIB基本上和JAR包应该差不多的。

四、总结

  比较两个项目的结构,也可以看出谷歌并没有遵循标准的eclipse项目结构,有自己的标准。

五、另外一点知识:

  eclipse 中 构建路径下的 order and export 是干什么用的 
  构建顺序和 导出的时候要导出哪些资源,order就是使用class的顺序(因为可能出现class同名的情况),export就是把用到的一些的lib和project同时发布。 
  在order and Export条目中,不能重复将jar包打入到APK中,现在android将导出的jar包分为Android Dependencies和Android Private libraries两种,目的是供开发者选择,但是一般这两个都要打入Apk中!

[转]Private Libraries、Referenced Libraries、Dependency Libraries的区别的更多相关文章

  1. 【转】Private Libraries、Referenced Libraries、Dependency Libraries的区别

    一.v4.v7.v13的作用和用法 1.Android Support V4, V7, V13是什么? 本质上就是三个java library. 2.为什么要有support库?   是为了解决软件的 ...

  2. 【转】你是不是也被Android Private Libraries、Referenced Libraries、android Dependency搞晕了~~

    一.v4.v7.v13的作用和用法 1.Android Support V4, V7, V13是什么? 本质上就是三个java library. 2.为什么要有support库?   是为了解决软件的 ...

  3. eclipse中jre system library ,web app libraries,referenced libraries,user libraries

    在eclipse ide中进行开发时,为了方面jar的管理用了user libraries,但是遇到了一些问题,对于其中jre system library ,web app libraries,re ...

  4. JRE System Library、Referenced Libraries、Web App Libraries的含义

    JRE System Library.Referenced Libraries.Web App Libraries 这三个都是jar包的存放集合. JRE System Library:指Java S ...

  5. PHP public private protected 三种修饰符的区别

    public 表示全局,类内部外部子类都可以访问:private表示私有的,只有本类内部可以使用:protected表示受保护的,只有本类或子类或父类中可以访问:

  6. java作用域public ,private ,protected 及不写时的区别(转)

    在说明这四个关键字之前,我想就class之间的关系做一个简单的定 义,对于继承自己的class,base class可以认为他们都是自己的子 女,而对于和自己一个目录下的classes,认为都是自己的 ...

  7. Private Bytes,Working Set,Virtual Size的区别

    http://aigo.iteye.com/blog/1930209 http://stackoverflow.com/questions/1984186/what-is-private-bytes- ...

  8. java作用域public ,private ,protected 及不写时的区别

    说明部分转自:http://yangmingjiayou.iteye.com/blog/151865 在说明这四个关键字之前,我想就class之间的关系做一个简单的定义,对于继承自己的class,ba ...

  9. dependency与dependencyManagement区别

    在maven的pom文件中,有时候会见到dependencyManagement,它与denpendency有什么区别? 比方说,你在一个parent的pom里把你所需要的依赖包,版本号都写在depe ...

随机推荐

  1. 深入浅出Android开发之Surface介绍

    一 目的 本节的目的就是为了讲清楚Android中的Surface系统,大家耳熟能详的SurfaceFlinger到底是个什么东西,它的工作流程又是怎样的.当然,鉴于SurfaceFlinger的复杂 ...

  2. 高效开发 Android App 的 10 个建议

    假如要Google Play上做一个最失败的案例,那最好的秘诀就是界面奇慢无比.耗电.耗内存.接下来就会得到用户的消极评论,最后名声也就臭了.即使你的应用设计精良.创意无限也没用. 耗电或者内存占用等 ...

  3. 利用腾讯云免费证书打造全https站

    什么是https? 超文本传输安全协议(Hypertext Transfer Protocol Secure,缩写为HTTPS)是一种网络安全传输协议http是HTTP协议运行在TCP之上,所有传输的 ...

  4. 【ERROR】Oracle11g两个监听同名进程的故障

    问题: 一个实例启动了另个两个监听. 解决方法: #ps -ef | grep tnslsnr #oracle 925826 1 0 Apr 06 - 234:50 /u01/app/oracle/p ...

  5. 修改TreeList单元格格式(实现类似单元格合并效果)

    关键点:(1)TreeList中显示的单元格默认不显示上.下.左.右边框,显示的是TreeList自身的行横边框.列纵边框,具体对应TreeList属性中OptionView项下的ShowVertLi ...

  6. Java JNI的具体介绍

    JNI就是Java Native Interface的简称,也就是java本地接口.它提供了若干的API实现了和Java和其它语言的通信(主要是C&C++).也许不少人认为Java已经足够强大 ...

  7. python标准库介绍——1 os详解

    == os 模块 == ``os`` 模块为许多操作系统函数提供了统一的接口. 这个模块中的大部分函数通过对应平台相关模块实现, 比如 ``posix`` 和 ``nt. os`` 模块会在第一次导入 ...

  8. js数组设置值操作

    js中给数组中添加新值的方式: var flow=[]; for(var i=0;i<21;i++){ flow.push(Math.floor(Math.random()*(30+((i%12 ...

  9. MySQL 数据库 分页查询

    在使用MySQL 进行数据库分页查询的时候最主要是使用LIMIT子句进行查询: 首先来看一下LIMIT: LIMIT子句可以用来限制由SELECT语句返回过来的数据数量,它有一个或两个参数,如果给出两 ...

  10. [Jobdu] 题目1528:最长回文子串

    题目描述: 回文串就是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串.回文子串,顾名思义,即字符串中满足回文性质的子串.给出一个只由小写英文字符a,b,c...x,y, ...