Android Dependencies小差号引起的问题

问题是由于Android Dependencies小差号引起的,下午一搞Android的哥们在群里说最近导入的几个工程每个都是Android Dependencies报错,小差号,我先说解决方法:

方法一:自己新建工程,将整个工程重新建一遍。(事倍功半)

方法二:将Android Dependencies项直接remove掉,未作测试,有的说可以,有的说下次启动仍然报错。

方法三:引用你本地的 appcompat_v7_x  Library工程,_x是默认生成的代号随便一个都行,如图:

注意将原工程中引用的appcompat_v7_x  Remove掉

下面是对此问题的缘由介绍:

记得是ADT至22.6.0版本之后,创建新的Android项目,会出现appcompat_v7的工程。而且是创建一个工程新的工程就会出现,特别腻歪。查资料说appcompat_v7是Google自己的一个兼容包,就是一个支持库,能让android2.1以上全使用android4.0版本的界面。(本来挺好的事,但每次生成个新工程这对开发者来说也太腻歪了,本来就捉襟见肘的工作目录)

相信看到这里也就不难理解为什么会出现上面的问题,大家在上传或者相互拷贝工程的时候直接把工程拷了过去,都不习惯再把appcompat_v7也拷贝过去,新导入工程时就会报错。相信这个对于新手或不太注意的程序猿来说很是腻歪的一件事。

说到这里再多说点相关的东西。

Android Dependencies 是什么?

官方的解释是:Android Dependencies is a virtual folder where Eclipse shows what JAR files the project depends on. It‘s not a physical folder; you won‘t find it on your hard disk. And the folder is not checked in into Subversion.Do not delete that folder. You will destroy your project.To fix it, just revert to an older Subversion revision and check it in again.

      就这么简单几句话,不清不楚的,简单说:从ADT16开始,Android项目中多了一个名为“Android Dependencies” 的库应用文件夹,这是ADT的第三方库新的引用方式。当你需要引用第三方库时,只需在项目中新建一个名为"libs"的文件夹,然后将所有第三方包拷贝到该目录下。当eclipse启动时,ADT就会自动帮你完成库的引用,而不需要像以前一样自己Build Path,也不再需要Referenced Libraries了。

这里又提到了libs Referenced Libraries ,我们还可以想到Android Private Libraries,想下下引用library的方法就不难理解

1.被引用的项目在“Android”选项里设置“Is Library”打钩

2.引用项在“Android”选项里设置“add"被引用项

3.android Dependencies会显示引用项目,依赖项目

Android Private Libraries:表示放在libs里面的jar包引用,视为私有引用

Referenced Libraries:表示引用的外部jar包。

另:

如果引用项目和被引用项目用到同一个jar包,版本需要保持一致。

Android Private Libraries和Referenced Libraries不能重复引用同一个jar包,两个都有时去掉一个。

最近发现  Android Private Libraries和Referenced Libraries可以重复引用同一个jar包,不知该当何解,以后有时间再研究,继续coding.....

时间: 2024-08-19 13:15:51

Android Dependencies小差号引起的问题的相关文章

Android Dependencies被误删除的解决办法

转自http://www.eoeandroid.com/thread-272679-1-1.html 第三方jar的导入方式 在新版本的ADT环境下,只需要在工程目录下新建libs文件夹(注意是libs不是lib),然后将第三方的jar复制进去,eclipse会自动将这个jar添加到Android Dependencies文件夹下,不必在通过BuildPath自己去修改了,也不需要ReferenceLibrary了. 另外,如果多个工程有关联的话,比如A工程设置为IsLibaray,B工程要引入

不自动生成Android Dependencies的解决方式

今天遇到的奇怪问题是网上下载的demo导入第三方包运行后Android: NoClassDefFoundError的错误,原因是第三方的jar包并没有打包进apk里,运行是肯定要出错的. 网上百度了N久,都是说先移除之前的Libraries,再将lib更名为libs的做法.今天是遇到邪门了,照做还是运行报错.后来发现直接add的jar包还是放在Referenced Libraries里,ADT升级到17后就出现了Android Dependencies,但这是自动生成的.将名字改来改去工程删来删

如何手动添加Android Dependencies包

解决方法如下: 1.如果以前的jar都在lib目录下,那么可以先把lib目录下的jar文件先拷贝出来,然后删除lib目录,新建一个libs目录,然后把jar文件拷贝到libs目录下即可.不需要再add to build path,系统会自动将libs下的jar包添加到build path(实际上是添加到Android Dependencies这个library下). 2.如果不小心将 Android Dependencies这个library删除了,可以重复删除 libs目录 然后新建libs目

android Dependencies ,Private Libraries ,Referenced Libraries区别

1.被引用的项目在"Android"选项里设置"Is Library"打钩 2.引用项在"Android"选项里设置"add"被引用项 3 .android Dependencies会显示引用项目,依赖项目 Android Private Libraries:表示放在libs里面的jar包引用和依赖项目中的包,视为私有引用 Referenced Libraries:表示引用的外部jar包. 4.注意: 如果引用项目和被引用项目

【转】如何手动添加Android Dependencies包

在ADT16 之前可以在工程里面做关联,eclipse会在工程上自动添加ReferenceLibrary.新版本的ADT修改了第三方jar的导入方式,只需要在工程目录下新建libs文件夹,注意是libs不是lib,然后将第三方的jar复制进去,eclipse会自动将这个jar添加到Android Dependencies文件夹下,不必在通过BuildPath自己去修改了,也不需要ReferenceLibrary了. 另外,如果多个工程有关联的话,比如A工程设置为IsLibaray,B工程要引入A

The Jar of this class file belongs to container 'Android Dependencies' which does not allow modifica

解决方法英文链接:http://stackoverflow.com/questions/12628439/how-can-i-enable-javadoc-for-the-android-support-library 一:如下图加入properties文件 二:properties文件的内容只需一行:src=D:\\andriod_adt\\sdk\\extras\\android\\support\\v4\\src 三:刷新一下项目,或者对项目执行 close project, openpr

关于Android多项目依赖在Eclipse中无法关联源代码的问题解决 (android dependencies 源码)

转载于:http://www.cnblogs.com/flashlm/archive/2013/02/22/eclipse-android-project-dependencies-does-not-allow-modifications-to-source-attachments.html 被Eclipse中Android依赖项目无法关联源代码的问题困扰了许久,终于得到解决,大大提高了开发效率. 问题描述: 项目有A,B两个Android Project组成, B是Android Librar

Android Dependencies

从ADT16开始,Android项目中多了一个名为"Android Dependencies" 的库应用文件夹,这是ADT的第三方库新的引用方式. 当你需要引用第三方库时,只需在项目中新建一个名为"libs"的文件夹,然后将所有第三方包拷贝到该目录下.当eclipse启动时,ADT就会自动帮你完成库的引用,而不需要像以前一样自己Build Path,也不再需要Referenced Libraries了. Android Dependencies

android无渠道号推广的细分统计

问题描述: 同一个apk安装包下载地址,在被不同的推广链接安装到不同的手机后,自动区分安装所属的链接. 详细解释: 有两个人A和B要为http://127.0.0.1/sample.apk进行推广安装 A发送自己的推广链接http://127.0.0.1/sample.apk?id=a到好友x的手机 B发送自己的推广链接http://127.0.0.1/sample.apk?id=b到好友y的手机 x和y两个人的手机中安装sample.apk后进行识别自身属于A还是B的推广,从而对A和B进行推广