无法从 android 项目模拟器调用 Web 服务方法

Posted

技术标签:

【中文标题】无法从 android 项目模拟器调用 Web 服务方法【英文标题】:Can not call web service methods from android project emulator 【发布时间】:2012-11-19 11:36:37 【问题描述】:

我基于这个tutorial创建了一个网络服务

我可以运行服务并调用它的方法,但我想从一个 android java 项目中调用它们。我将 ServiceClient 项目导出为 jar,并将其添加到新项目构建路径中。当我从模拟器运行 android 项目并尝试调用 Web 服务命令时,我得到一个 java.lang.NoClassDefFoundError。

【问题讨论】:

顺便说一句,从 logcat 添加完整的异常消息将帮助我们确定问题的确切原因。 你能发送你的项目大纲和构建路径窗口的快照吗? 【参考方案1】:

如果 Payeli 的解决方案不起作用,您可以右键单击 jar 并将其添加到使用 Build Path -> Add to build Path 的构建路径。这会将您的 jar 文件包含到构建路径中。

另一种解决方案是右键单击项目并选择Android Tools->Fix project properties。此选项将告诉您构建路径问题的最佳解决方案。

【讨论】:

【参考方案2】:

你是否为项目创建了一个与src目录同级的“libs”目录,并将jar文件复制到那里?如果是,那么 payeli 的解决方案应该有效。否则,在 Open Oder and Export 选项卡中,检查您创建的特定 jar 文件。那么它应该可以工作了。

【讨论】:

【参考方案3】:

首先将您的 jar 文件添加到您的项目中。然后右键单击该 Jar 文件,然后选择 Build Path > Add to Build Path,这将在您的项目中创建一个名为“Referenced Libraries”的文件夹。

【讨论】:

以上是关于无法从 android 项目模拟器调用 Web 服务方法的主要内容,如果未能解决你的问题,请参考以下文章

从 android 模拟器调用时无法调用工作灯适配器

如何从 Flutter web 调用原生 Android 代码。?

Android:从模拟器访问 localhost 时出现“Bad Request-Invalid Hostname”

在 Android 模拟器设置中 - Google Play 服务版本无法解析

Answer SDP 中缺少啥(从 Web 浏览器到 Android 设备)

无法使用 android 模拟器上的 Firestore 模拟器访问云 Firestore 后端