【问题标题】:Problem with linking to other project in Android Eclipse environment在 Android Eclipse 环境中链接到其他项目的问题
【发布时间】:2011-02-12 20:30:26
【问题描述】:

我正在开发一个 Android 应用程序作为 Eclipse 项目,它使用我已经拥有的另一个 Eclipse Android 项目中的类。当我最初导入它 (New Project > Android Project > From Existing Source) 时,它有一堆错误,但是当我导入 Project > Properties > Java Build Path 并转到项目选项卡并添加另一个项目时,错误就消失了。不幸的是,当我运行应用程序时,我在 DDMS 中收到以下错误:

java.lang.NoClassDefFoundError: [package name].Config
[stack trace]

我应该在清单中添加一些东西来告诉它查看另一个包吗?如果是这样,那将添加到哪里?

提前致谢

【问题讨论】:

    标签: java android eclipse classpath


    【解决方案1】:

    找到了答案。事实证明,如果我使用 Eclipse 的导出命令将编译的类文件添加到 JAR 文件中,然后链接到 Java 构建路径中的外部 jar,它就可以工作,而无需更改 Android Manifest。

    【讨论】:

      【解决方案2】:

      尝试使用文件 -> 导入...

      然后进入“Existing projects into Workspace”并选择项目的根目录。 src,res... 文件夹在哪里

      【讨论】:

      • 项目已经在工作区中,所以这不是问题。实际上,该项目可以正确编译和安装。但是,一旦我第一次调用外部类,应用程序就会崩溃并出现 NoClassDefFoundError。其他想法?
      • 哦,好的。我误解了这个问题。我从未尝试过,但(不幸的是)我对 NoClassDefFoundError 有一些经验。您正在使用的模拟器/手机中的两个项目是什么。这可能是原因之一。
      • 这两个应用程序都安装在手机上。我需要删除一个吗?
      • 没有。 NoClassDefFoundError 的问题是因为您的应用程序在运行时找不到其他项目。您在计算机中编译它,它会在其中找到另一个项目,但是当它运行时却找不到它。我的意见是它应该在 Manifest 中处理。在应用程序选项卡中尝试添加一个新的应用程序节点。添加一个新活动,然后在名称*上:浏览其他项目主要活动(不要忘记取消选中底部的框,该框表示仅在您的项目中查找活动)。如果你需要活动。如果您只需要这些课程,为什么不直接复制它们。
      【解决方案3】:

      您的第二个项目应该是一个库。打开项目属性,选择Android选项卡并勾选“is library”。

      在您的主项目中,打开其属性,同时选择 Android 选项卡,然后单击库部分中的 Add 并添加您的第二个项目。

      【讨论】:

      • 您在第一个项目的导航器中看到NameOfYourSecondProject_src [Android Library] 吗?在您的 Java 构建路径中,确保您删除了对“项目”中第二个项目的引用。它应该只在“源”中
      • 我认为这种方法不起作用,因为我正在做一些花哨的 AIDL/JNI 东西。
      • 这是可能的,因为将编译后的 JAR 添加到您的类路径中确实有效,但如果您需要经常更新您的库,则不是很实用。
      猜你喜欢
      • 1970-01-01
      • 2021-03-08
      • 2013-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-02
      • 1970-01-01
      • 2011-01-04
      相关资源
      最近更新 更多