Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.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
在eclipse中,无法在另一个android项目中引用android库项目_Android_Eclipse_Project - Fatal编程技术网

在eclipse中,无法在另一个android项目中引用android库项目

在eclipse中,无法在另一个android项目中引用android库项目,android,eclipse,project,Android,Eclipse,Project,当我写这个问题时,我设法解决了它,所以为了其他人的利益,在这里重复它。这是最初的问题: 我已经创建了一个非常简单的库项目,我想在另一个项目中引用它。我以前做过这件事,没有任何问题,所以我不确定这次为什么不起作用。我有: 通过项目属性标记库项目。default.properties文件具有以下设置:android.library=true 在我的其他项目中,通过项目属性添加了对我的库项目的引用。default.properties文件按预期添加了引用ieandroid.library.refere

当我写这个问题时,我设法解决了它,所以为了其他人的利益,在这里重复它。这是最初的问题:

我已经创建了一个非常简单的库项目,我想在另一个项目中引用它。我以前做过这件事,没有任何问题,所以我不确定这次为什么不起作用。我有:

  • 通过项目属性标记库项目。
    default.properties
    文件具有以下设置:
    android.library=true

  • 在我的其他项目中,通过项目属性添加了对我的库项目的引用。
    default.properties
    文件按预期添加了引用ie
    android.library.reference.1=K:/android\u test\u ws/applicationregister

  • 参照的库项目的绿色勾号以绿色开始,然后变为红十字


  • 这意味着图书馆项目中一定有什么错误/遗漏,但我不知道是什么。这次我的库项目比我以前创建的库项目简单得多。

    好的,这是我在文件系统中查找引用项目(而不是库)的default.properies文件时找到的解决方案。尽管引用项目与库项目位于同一个eclipse工作区中,但实际文件位于文件系统中的其他位置,即它们不在库项目的同一父文件夹中。当我将引用项目与库项目放在同一个物理文件夹中时,一切都很顺利

    我猜这一定与安卓在封面下使用ant有关


    编辑:项目名称需要与文件系统上的文件夹名称匹配。您在Project Properties->Android->Library Reference中看到的是一个相对的文件系统路径。

    当您查看前后的引用路径时,它来自即“C:/workspace/mylib”,并在复制到正确位置时转到“../../mylib”,非常有趣。

    获得正确库路径的最简单方法是使用Eclipse的GUI添加库,如以下屏幕截图所示,并让Eclipse负责将正确的相对路径放入project.properties中。将库项目托管在与使用库的主项目大不相同的目录中是一种常见的设置。如果“库项目”和使用它的项目位于同一eclipse“工作区”(它们“不必”位于同一父文件夹中),则此方法将起作用:

    请确保库项目标记为“is library”-右键单击库项目-属性-Android-标记“is library”复选框-在库项目的project.properties中,您应该有一个新条目:“Android.library=true。现在将其添加到您想要的项目中,如下文所述。(集成了图像的帖子-来自Nilesh Pawar)。

    如果您的库项目位于与当前工作区不同的分区中,则会出现相同的问题。我刚才遇到了相同的问题。我的git源代码位于C:中,我只是将工作区移动到D:中,所有内容都开始崩溃。

    关于同一问题的另一个观察结果

    对我来说,这两个项目位于同一父文件夹中,并且都是工作区内的本地项目。即使在那时,问题仍然在发生

    我编辑了“project.properties”文件,并放置了库项目的绝对路径(用斜杠“/”表示分隔符)。保存并关闭了它。然后转到“项目属性”对话框,删除了库(它仍然显示十字图标,但带有abs路径),并像往常一样添加了它。 令人惊讶的是,问题得到了解决,项目得以编译并运行

    这真的很奇怪,一定是ADT的一个bug。
    当开发人员引用facebook或任何其他库项目时,我使用的是ADT版本20.0.2

    ,然后首先从eclipse->project->clean project中清理项目。
    希望允许在引用屏幕中出现红十字错误。

    此错误在此处被引用多次,&

    也许投票给他们,总有一天会确定的…

    仅供参考


    对我来说,有效的方法是从我的工作区中删除“库”项目(实际项目)(不删除文件),然后使用向导重新导入它们(从源代码导入现有的android项目)。

    我的解决方法是

  • 创建一个新的工作区
  • 在该工作区中导入库项目
  • 在该工作区中导入所需的项目
  • 使project和library project都具有相同的目标Android OS版本
  • 我的项目中的参考库项目

  • 解决了我的问题

    谢谢你发布这个问题。
    在将Facebook与Android应用程序集成时,我遇到了完全相同的问题。我通过将开发项目移动到库项目所在的同一个Windows驱动器来解决了这个问题。如果库项目位于不同的驱动器中,Eclipse无法从default.properties文件正确读取库项目的位置。

    Make确保两个项目位于同一工作空间中。
    为此,在导入项目时,请确保选中“将项目复制到工作空间”复选框。

    对于我来说,我只需重新启动eclipse,添加的库就可以正常工作

    我的意思是在添加库项目后第一次显示红色标记。 尽管eclipse主项目和库项目位于同一个工作区文件夹中,并且项目文件夹之外并没有任何资源文件


    因此,您可以尝试使用重新启动eclipse。快乐编码…

    类似于Sufi Khan的帖子,我也通过重新启动解决了这个问题。我的案例不同之处在于,当我第一次访问Properties->Android并添加库时,我得到了一个可爱的绿色复选标记。当我关闭对话框时,eclipse仍然显示class not found类型错误
    # This file is automatically generated by Android Tools.
    # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
    #
    # This file must be checked in Version Control Systems.
    #
    # To customize properties used by the Ant build system edit
    # "ant.properties", and override values to adapt the script to your
    # project structure.
    #
    # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
    #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
    
    # Project target.
    target=android-17
    android.library=true