• [转]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中!

  • 相关阅读:
    5月18日InterlliJ IDea快捷键
    5月17日-集合构架Collection学习
    十一java作业1
    十一java作业2
    第一周,java模拟ATMdos界面程序源代码及感想
    8.27-9.2第八周
    8.20-8.26第七周
    8.13-8.19第六周
    8.6-8.12第五周
    7.30-8.5第四周
  • 原文地址:https://www.cnblogs.com/DarrenChan/p/5769203.html
Copyright © 2020-2023  润新知