android项目之间的相互引用出现的问题

来源:互联网 发布:u盘安装ubuntu双系统 编辑:程序博客网 时间:2024/04/30 03:04

在实际使用中,我们可能会把一个android工程作为库,然后在另外一个android的工程中引用。实现的步骤如下:

1.将android工程设为库

选择工程右击选择“property”->"Android"选项下的library勾选“Is Library”。

2.在当前工程引用上面的工程的库

在当前工程目录下的文件“project.properties”里添加:

android.library.reference.1=..\\xxx(工程目录)

这样就可以使用库工程的代码及资源的。

验证是否可以正常引用:可以到“property”->"Android"选项选项下的library有Reference中显示你所引用到的工程。

引入另一个项目  将libs文件夹下的android-support-v4.jar删除

在前面我们使用了一个android项目作为一个library,供另外一个项目使用,但是也会出现一些问题,如下:

当project主动引用另外一个androidproject的时候,出现了一个问题,在当前的project中报了library中的一些错误:
E:\developtools\workspace\Chejt\res\layout\setting_contents_fragment.xml:62:error: No resource identifier found for attribute 'mode' in package'com.souchenow.cjt<这是作为library的项目>'

在我们的library项目中确实用到了attribute,即xml自定义属性,在attr.xml中定义了一些属性,但是它不作为一个library的时候就不会报错,而作为一个library的时候却报了错,这是什么原因呢?我通过以下方式解决了问题,在xml中引入这个属性的时候,我们不使用以前的
xmlns:ptr="http://schemas.android.com/apk/com.shouchenow.main"
这样的形式,而换成了xmlns:ptr="http://schemas.android.com/apk/res-auto"
换成了res-auto,这样问题解决,详细看下链接:http://stackoverflow.com/questions/10398416/using-activities-from-library-projects
简述:Issue 9656: Library projects don't support custom XML attributesfor custom classes
0 0
原创粉丝点击