Android 找不到从方法YYY引用的方法XXX

Android 找不到从方法YYY引用的方法XXX,android,Android,我有两个android项目,ProjA需要ProjB(在Eclipse属性>Java构建路径>项目>添加>ProjB中)。在Eclipse中,每件事都可以编译,但当我运行ProjA时,会出现一个错误: 找不到引用的方法XXX 来自方法YYY 其中XXX-是来自ProjB的方法 如何修复设置?将两个项目合并为一个 或者,让ProjB构建ProjA包含的JAR文件 或者,将ProjB转换为远程服务,通过AIDL公开所讨论的方法,并让ProjA绑定到该服务以使用该方法。如果您不想使用Commonwar

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

找不到引用的方法XXX 来自方法YYY

其中XXX-是来自ProjB的方法


如何修复设置?

将两个项目合并为一个

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


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

如果您不想使用Commonware的答案,您可能需要查看您的设计

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


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

我在使用外部jar(在我的例子中是openCSV)时也有类似的问题。 我出现问题的原因是ADT 17(或更高版本)发生了变化。 我需要做的是解决这个问题

  • 在Eclipse中,转到属性->Java构建路径->排序和导出
  • 在我的罐子上做记号
  • 将jar移到列表的顶部
  • 找到了解决办法 这是一篇非常好的文章。

    你可以试试上面的链接。。
    我建议在你的库jar中处理这个“android只支持1.6而不支持1.7”的问题

    我在新的android Gradle构建系统中遇到了这个问题,我通过运行
    Gradle clean
    然后重新构建和安装来修复它。构建系统是一个复杂的庞然大物,谷歌仍然没有完美地解决依赖性问题。

    只是遇到了同样的情况——包括应用程序启动时运行时出现的classnotfound错误。解决方案:将库项目源文件夹添加到生成路径!我也有同样的问题!我已经尝试了所有的方法:添加一个项目引用(正如Commonware所建议的),创建一个JAR文件,然后将其导入ProjA——什么都不管用!你有两个选择。1) 使ProjB成为所谓的“Android库”(请参阅接受的答案)2)如果ProjB没有资源(布局、绘图等),那么您可以创建公共Java项目(非Android),并在eclipse的“库”选项卡中将Android.jar添加为外部jar,并从同一选项卡中删除JRE。。。可以在如下路径找到android.jar:C:\android sdk windows\platforms\android-3\android.jar访问此链接:如上所述,这些建议都不起作用。我一直在得到NoClassDefFound错误上面的错误。但在编译时,一切看起来都很好。。。我已经打扫了,重新启动了等等。。。什么都不管用。干杯,我最初认为这与我的外部项目无关。错误是说方法Y找不到类X,但是方法Y在类X中找到了!我在想,方法X.Y()怎么可能不知道它来自哪个类?然后我意识到方法X.Y()实际上与一些数据结构进行了交互,这些数据结构来自一个外部项目。所以我去订购和导出,并将Android私有库移到顶部,瞧!但对于任何旁观者来说,如果你认为不涉及另一个项目的话,重点是。。你确定吗?+1我发誓如果没有它,编写android应用程序是不可能的。我不确定这与外部项目有关吗?我发现错误
    找不到方法android.os.PowerManager.isInteractive,referenced…