【问题标题】:Doesn't find interface's method although it exists in jar尽管存在于 jar 中,但找不到接口的方法
【发布时间】:2019-07-18 04:31:56
【问题描述】:

我已经尝试了两天来解决一个问题,我希望得到您的帮助。

我有两个应用程序,我们将它们命名为 A 和 B。B 需要将 A 中存在的方法调用到接口中。 我附加到包含 A 的相关类和接口的 B Jar 文件中(根本没有编译错误)。但是,在运行时,我得到了“NoSuchMethodError”异常。

我从推送到设备的jar中查看了编译后的界面,看到了被调用的方法。所以,我真的不明白为什么我会得到“NoSuchMethodError”。

你知道我能做什么吗? 提前致谢。

【问题讨论】:

    标签: java android jar


    【解决方案1】:

    请注意,当您在 A 的所有类中包含 A 的 jar 文件时,这并不意味着它们将在构建追加时被导出。 尝试在构建应用程序时指定导出 jar 文件。

    另外,两个应用程序不能通过简单的导入或使用静态变量相互通信。它们都在无法相互通信的不同VM中执行。 这样做的唯一方法是将一些 Android Intent 与一些 BroadcastReceiver 一起使用。

    【讨论】:

    • 首先感谢您的回答。关于第二件事,我使用了 AIDL。您写了“在构建应用程序时尝试指定导出jar文件”-我检查了设备中更新的jar,还不够吗?如果没有,我想知道为什么,以及如何在构建时导出新 jar?谢谢。
    • 很抱歉,我无法为 AIDL 提供帮助,我从来没有做过任何事情。这是Eclipse IDE(我的主IDE)的一个例子,您需要指定最终导出文件中的内容以及不存在的内容image,可能使用AIDL文件不一样,您可能需要包含它手动将其添加为“外部文件”并放置绝对链接,以便在构建时可以访问它。 (对不起,我真的不知道 AIDL 文件是如何工作的......)
    猜你喜欢
    • 2019-09-26
    • 2016-08-21
    • 2015-01-11
    • 1970-01-01
    • 2021-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-08
    相关资源
    最近更新 更多