【转】你是不是也被Android Private Libraries、Referenced Libraries、android Dependency搞晕了~~
一、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上运行,则需要做向下兼容. 
  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中!
六、感恩
Android实习札记(3) Fragment用app包还是v4包解析 
http://www.it165.net/pro/html/201411/26897.html
旅游项目_Android开发编译环境设置总结 
http://blog.csdn.net/wangyihero8/article/details/43730207
app包中的fragment和v4包中的fragment的使用的区别 
http://blog.csdn.net/a465456465/article/details/10415211
_____________________________对不起,请原谅我,谢谢你,我爱你
from:http://blog.csdn.net/a910626/article/details/45368131
【转】你是不是也被Android Private Libraries、Referenced Libraries、android Dependency搞晕了~~的更多相关文章
- eclipse中jre system library ,web app libraries,referenced libraries,user libraries
		在eclipse ide中进行开发时,为了方面jar的管理用了user libraries,但是遇到了一些问题,对于其中jre system library ,web app libraries,re ... 
- web App libraries跟referenced libraries的一些问题
		该博文内容经参看网上其他资料归纳所成,并注明出处: 问题一:myeclipse中Web App Libraries无法自动识别lib下的jar包(http://blog.csdn.net/tianca ... 
- 怎样加入� android private libraries 中的包的源码
		先上图: 这里以加入� afinal_0.5.1_bin.jar 为例. 第一步:加入�jar包到libs里面,系统自己主动把jar载入到android private libraries中: 第二步 ... 
- Libs文件夹下的Jar文件为什么不会自己主动放在Android Private Libraries文件夹下
		简而言之:这个问题就是由jar包反复冲突了! 这个问题一開始我出现了一种"自以为是"的答案,在Android Private Libraries文件夹下的是会打包到project可 ... 
- Android Private Libraries 和 Dependencies的区别
		Android项目开发中,是不是常看到android-support-v4.jar.appcompat_v7.jar等的jar包? 至于为什么要添加这些包?添加有什么用?添加到哪里?相信很多人没过多关 ... 
- MyEclipse中android 项目如何解决第三方jar无法关联源码的问题( The JAR of this class file belongs to container 'Android Private Libraries' which does not allow modifications to source attachments on its entries.)
		若我们要为第三方jar(android-support-v4.jar)关联源码通常的做法是 右键项目 单击菜单Properties 单击菜单 Java Build Path 单击 Libraries ... 
- 【转】Private Libraries、Referenced Libraries、Dependency Libraries的区别
		一.v4.v7.v13的作用和用法 1.Android Support V4, V7, V13是什么? 本质上就是三个java library. 2.为什么要有support库? 是为了解决软件的 ... 
- [转]Private Libraries、Referenced Libraries、Dependency Libraries的区别
		一.v4.v7.v13的作用和用法 1.Android Support V4, V7, V13是什么? 本质上就是三个java library. 2.为什么要有support库? 是为了解决软件的 ... 
- 【转载】Android Studio 导入External Libraries
		转载: 世军 Android Studio 导入External Libraries http://www.cnblogs.com/shijunzhang/p/5625432.html 导入本地Li ... 
随机推荐
- mybatis-Plus 增强版用法收藏
			转载:http://www.cnblogs.com/okong/p/mybatis-plus-guide-one.html#xml%E5%BD%A2%E5%BC%8F https://blog.csd ... 
- forEach与jdk8中的lambda, Stream
			增强for循环 :forEach 反编译后可以看到实际使用的仍然是Iterator+while遍历的 forEach的优点是写法简单,缺点是不能使用xxx.remove(e)或者iter.remove ... 
- CopyOnWriteArrayList的增删改查实现原理
			https://www.cnblogs.com/simple-focus/p/7439919.html 篇文章的目的如下: 了解一下ArrayList和CopyOnWriteArrayList的增删改 ... 
- 转  关于bootstrap--表格(table的各种样式)
			https://www.cnblogs.com/shark1100913/p/5627233.html 关于bootstrap--表格(table的各种样式) 1.table-striped:斑马 ... 
- 关于imageview matrix
			Matrix 是 Android SDK 提供的一个矩阵类,它代表一个 3 X 3 的矩阵 那么这 9 个浮点数的作用和意义是什么呢,从 Android 官方文档上看,它为这个数组中的每一个元素都定义 ... 
- KEIL的多工程多目标
			https://blog.csdn.net/ybhuangfugui/article/details/51655502 https://mp.weixin.qq.com/s/CSUa4zegzz8JW ... 
- (转)stty 命令说明及使用讲解
			stty 命令说明及使用讲解 UNIX系统的命令很多,但是巧妙使用命令的方法更多.随着经验的积累和观察学习其他用户的实践,我们也可学会解决特殊问题的方法.这里谈谈自己使用UNIX系统中stty ... 
- Nginx 在Windows下搭建静态Web服务
			简介 nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP ... 
- js弹出页面
			建立一个HTML文件,输入以下代码就能弹出页面 <!DOCTYPE html> <html lang="en"> <head> <meta ... 
- tp3.2水印上传文件
			<html> <html lang="en"><head> <meta charset="UTF-8"> ... 
