【转】Private Libraries、Referenced Libraries、Dependency Libraries的区别
一、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的区别的更多相关文章
- [转]Private Libraries、Referenced Libraries、Dependency Libraries的区别
一.v4.v7.v13的作用和用法 1.Android Support V4, V7, V13是什么? 本质上就是三个java library. 2.为什么要有support库? 是为了解决软件的 ...
- 【转】你是不是也被Android Private Libraries、Referenced Libraries、android Dependency搞晕了~~
一.v4.v7.v13的作用和用法 1.Android Support V4, V7, V13是什么? 本质上就是三个java library. 2.为什么要有support库? 是为了解决软件的 ...
- eclipse中jre system library ,web app libraries,referenced libraries,user libraries
在eclipse ide中进行开发时,为了方面jar的管理用了user libraries,但是遇到了一些问题,对于其中jre system library ,web app libraries,re ...
- JRE System Library、Referenced Libraries、Web App Libraries的含义
JRE System Library.Referenced Libraries.Web App Libraries 这三个都是jar包的存放集合. JRE System Library:指Java S ...
- PHP public private protected 三种修饰符的区别
public 表示全局,类内部外部子类都可以访问:private表示私有的,只有本类内部可以使用:protected表示受保护的,只有本类或子类或父类中可以访问:
- java作用域public ,private ,protected 及不写时的区别(转)
在说明这四个关键字之前,我想就class之间的关系做一个简单的定 义,对于继承自己的class,base class可以认为他们都是自己的子 女,而对于和自己一个目录下的classes,认为都是自己的 ...
- Private Bytes,Working Set,Virtual Size的区别
http://aigo.iteye.com/blog/1930209 http://stackoverflow.com/questions/1984186/what-is-private-bytes- ...
- java作用域public ,private ,protected 及不写时的区别
说明部分转自:http://yangmingjiayou.iteye.com/blog/151865 在说明这四个关键字之前,我想就class之间的关系做一个简单的定义,对于继承自己的class,ba ...
- dependency与dependencyManagement区别
在maven的pom文件中,有时候会见到dependencyManagement,它与denpendency有什么区别? 比方说,你在一个parent的pom里把你所需要的依赖包,版本号都写在depe ...
随机推荐
- Oracle中把一个DateTime的字符串转化成date类型。to_date('2016/12/8 18:55:43','yyyy/MM/dd hh24:mi:ss'),
Oracle中把一个DateTime或者该形态字符串转化成date类型. to_date('2016/12/8 18:55:43','yyyy/MM/dd hh24:mi:ss'), 或者: sele ...
- js双层动画幻灯
js双层动画幻灯 点击下载
- 单机多实例Tomcat部署
单机单用户基础上, 如何运行多个tomcat实例. 首先是tomcat的目录结构 bin – 包含所有运行tomcat的二进制和脚本文件 lib – 包含tomcat使用的所有共享库 c ...
- Centos5.8 安装 PHP5.5 和 memcached
安装GIT 需要先安装gcc-c++ (sudo yum install gcc-c++) sudo yum install gettext-devel expat-devel cpio perl o ...
- P3384 【模板】树链剖分
P3384 [模板]树链剖分 题目描述 如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作: 操作1: 格式: 1 x y z 表示将树从x到y结点最短路径上所有节 ...
- Power of Two
Given an integer, write a function to determine if it is a power of two. bool isPowerOfTwo(int n) { ...
- noi题库(noi.openjudge.cn) 1.9编程基础之顺序查找T01——T05
T01 查找特定元素的值 描述 在一个序列(下标从1开始)中查找一个给定的值,输出第一次出现的位置. 输入 第一行包含一个正整数n,表示序列中元素个数.1 <= n <= 10000.第二 ...
- web学习第一章
web学习第一章 我是大概9月10日开始走上IT之路的,一开始学习了小段时间的自动化办公软件, 昨天我开始学习客户端网页编程,我了解什么是WEB,一些比较老古董的计算模式和发展历史,印象最让我深刻 ...
- Gruntjs: grunt-contrib-jst
预编译Underscore模板到JST文件(Underscore:JS工具库) generate JavaScript template functions Gruntfile的配置实例: modul ...
- jboss eap 6.3 域(Domain)模式配置
jboss提供了二种运行模式:standalone(独立运行模式).domain(域模式),日常开发中,使用standalone模式足已:但生产部署时,一个app,往往是部署在jboss集群环境中的, ...