Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android私有库、依赖项和libs文件夹之间有什么区别?_Java_Android_Eclipse - Fatal编程技术网

Java Android私有库、依赖项和libs文件夹之间有什么区别?

Java Android私有库、依赖项和libs文件夹之间有什么区别?,java,android,eclipse,Java,Android,Eclipse,我是Android编程新手。我使用Eclipse作为开发的IDE。我启动了一个新项目,一些jar文件被自动添加到该项目中。你能解释一下这些jar文件的含义吗 安卓4.4.2 android.jar Android私有库 android-support-v7-appcompat.jar android-support-v4.jar Android依赖项 appcompat_v7_2.jar 自由基 android-support-v4.jar 此外,除此之外,还生成了一个名为“

我是Android编程新手。我使用Eclipse作为开发的IDE。我启动了一个新项目,一些jar文件被自动添加到该项目中。你能解释一下这些jar文件的含义吗

  • 安卓4.4.2
    • android.jar
  • Android私有库
    • android-support-v7-appcompat.jar
    • android-support-v4.jar
  • Android依赖项
    • appcompat_v7_2.jar
  • 自由基
    • android-support-v4.jar
此外,除此之外,还生成了一个名为“appcompat_v7_2”的文件夹,可以在项目资源管理器中看到。它还包含Android私有库和libs文件夹


我觉得这里有些多余的东西。请清除混淆。

这些只是包含应用程序内容的库。 当您执行“importandroid.blah.blah.blah”操作时,您会将该功能添加到代码中。而且列出所有图书馆的内容也太麻烦了。

  • 安卓4.4.2
    • android.jar
这是安卓4.4的本机API库(如果您转到安卓软件包管理器,您可以看到许多文件,范围从安卓2.*-安卓4.*)

因此,当您在Eclipse中创建一个新项目时,它将自动使用Android API级别属性中指定的库

  • Android私有库
    • android-support-v7-appcompat.jar
    • android_支持-v4
这些是应用程序在较低Android版本上运行时使用的支持库。 例如,如果您使用Android API 19作为编译的目标库,您将需要Android_support-v4库,应用程序将在较低的Android API设备上运行

v7和v4之间的区别在于v7支持Android v3.0及以上版本,v4支持Android v2.0及以上版本

我觉得这里有些多余的东西

Android私有库和Android依赖项不是实际的文件夹。它们是由Eclipse创建的,以方便用户使用

创建项目时,将在appcompat_v7_x/libs文件夹中创建v4和v7的支持库

Android私有库只是对支持库的引用。Android依赖项告诉我们项目引用或使用哪个appcompat\u v7\x

如果您查看Eclipse中的图标,libs图标和Android私有库是不同的图标。这是因为Android私有库不是一个实际的文件夹。您在磁盘上找不到它

因此,没有任何冗余,即没有文件被复制或复制

享受你的Android开发吧!:)
试试Android Studio,它比Eclipse好得多

我知道支持库有助于向后兼容。但是我不理解的是创建这么多jar文件以及每个jar文件的作用。这个答案没有试图处理问题中提出的具体问题。这是一个琐碎而懒惰的帖子。这是一个有用的答案。但是,这并不能消除我对生成这么多jar文件的困惑。三个jar文件就足够了吗?一个用于原生Android API,两个用于支持库?我是这样理解的。创建每个项目后,将在appcompat_v7_x/libs文件夹中创建必要的支持库。该项目只是通过Android私有库引用它们。也就是说,不会在项目文件夹中创建jar文件的副本。我们在Android Private Libraries文件夹中看到的文件只是对appcompat_v7_x/libs文件夹中Java归档文件的引用。我说的对吗?对!你是对的!你可以通过检查你的项目目录来证明你的答案!你将无法找到Android私有库,你只能看到libs文件夹@Tim,那么当我们手动右键单击lib文件夹中的jar并执行“构建路径:添加到构建路径”时会发生什么?既然现在它们被引用了两次,难道就没有冗余吗?@Pacerier是的!您可以自己尝试,并“添加到构建路径”,然后打开项目目录并转到构建路径,您可以看到新的额外库,但该库已被引用!尝试迁移到Android Studio,你会喜欢的,他们有Gradle构建系统,它比Eclipse好得多,而且它也不那么凌乱!:)