【问题标题】:Could not find method XXX, referenced from method YYY找不到方法 XXX,引用自方法 YYY
【发布时间】:2010-02-27 22:48:24
【问题描述】:

我有两个 android 项目,ProjA 需要 ProjB(在 Eclipse 属性 > Java 构建路径 > 项目 > 添加 > ProjB)。在 Eclipse 中一切都可以编译,但是当我运行 ProjA 时出现错误:

找不到方法 XXX,已引用 来自 YYY 方法。

其中 XXX - 是来自 ProjB 的方法。

如何修复设置?

【问题讨论】:

  • 刚刚遇到了同样的情况 - 包括应用程序启动时运行时出现的 classnotfound 错误。解决方法:将库项目源文件夹添加到构建路径中!
  • 我也有同样的问题!我已经尝试了一切:添加一个项目引用(正如 Commonsware 建议的那样),创建一个 JAR-fil 并将其导入 ProjA - 没有任何效果!
  • 您有两个选择。 1)使 ProjB 成为所谓的“Android 库”(参见接受的答案) 2)如果 ProjB 没有资源(布局、drawbles 等),那么您可以制作普通 Java 项目(非 android),并添加 android.jar作为 Eclipse 中库选项卡上的外部 jar,并从同一选项卡中删除 JRE... android.jar 可以在如下路径中找到:C:\android-sdk-windows\platforms\android-3\android.jar跨度>

标签: android


【解决方案1】:

我在使用外部 jar(在我的情况下为 openCSV)时遇到了类似的问题。 我遇到问题的原因是由于 ADT 17(或更高版本)的变化。 我需要做的是解决这个问题

  1. 在 Eclipse 中,转到 Properties -> Java build path -> Order and export。
  2. 标记我的罐子。
  3. 将 jar 移至列表顶部。

找到了解决办法 in the following page里面引用了一篇很好的文章。

【讨论】:

  • 干杯,我最初认为这与我的外部项目无关。错误是说方法 Y 找不到类 X,但是在类 X 中找到了方法 Y!我在想 X.Y() 方法怎么不知道它来自哪个类?然后我意识到 X.Y() 方法确实与一些来自外部项目的数据结构进行了交互。所以我去订购和导出并将Android私人图书馆移到顶部,瞧!不过对于任何旁观者来说,如果您认为不涉及其他项目..您确定吗?
  • +1 我发誓如果没有 SO,编写 android 应用程序将是不可能的。
  • 我不确定这与外部项目有关吗?我收到错误Could not find method android.os.PowerManager.isInteractive, referenced...
【解决方案2】:

Importing Class from External Jar, Android 你可以试试上面的链接.. 我建议在你的库 jar 中处理这个“android 只支持 1.6 而不是 1.7”

【讨论】:

    【解决方案3】:

    将两个项目合二为一。

    或者,让 ProjB 构建一个 ProjA 包含的 JAR 文件。

    或者,将 ProjB 转换为远程服务,通过 AIDL 公开相关方法,并让 ProjA 绑定到该服务以使用该方法。

    【讨论】:

    • 如上所述,这些建议都不起作用。我不断收到上述 NoClassDefFound 错误的错误。但是在编译时一切看起来都很好......我已经清理,重新启动等......没有任何效果。
    【解决方案4】:

    如果您不想接受 CommonsWare 的回答,您可能需要查看您的设计。

    例如,您可以使用 Intents 从第一个项目中调用第二个项目。

    如果有两个项目共有的代码,那么您可能希望将其拉入一个新项目中,您可以在其中将文件直接包含到两个项目中,但如果这两个项目应该一起工作,则有不同的方法Android 允许 Activity 相互调用,或传递信息,你可能想看看这些。

    【讨论】:

      【解决方案5】:

      我在使用新的 Android Gradle 构建系统时遇到了这个问题,我通过运行 gradle clean 修复它,然后再次构建和安装。构建系统是复杂的野兽,谷歌还没有完美地解决依赖问题。

      【讨论】:

        猜你喜欢
        • 2013-01-23
        • 2019-03-08
        • 1970-01-01
        • 1970-01-01
        • 2016-09-30
        • 2014-03-30
        • 1970-01-01
        • 1970-01-01
        • 2014-09-28
        相关资源
        最近更新 更多