2

我正在使用 Android 测试 Mobile Express Checkout Library 的示例应用程序。

我越来越java.lang.NoClassDefFoundError: com.paypal.android.pizza.ResultDelegate

错误在此 Pizza.java 行:PayPal.fetchDeviceReferenceTokenWithAppID(this, appID, server, new ResultDelegate());

我很困惑,我没有在谷歌上找到任何关于该错误的信息,也在 paypal 和 x.com 上的常见问题解答上,所以我不知道如何解决它。

我只是打开了示例代码项目并执行了它。

这是项目和库的链接:https ://www.x.com/sites/default/files/PayPal_MECL_1.0_Android-Developer-Package_0.zip

4

3 回答 3

8

您会收到此错误的原因只有三个:

  1. 这个类真的不存在。如果您使用官方示例中的代码并获取此代码,请确保您拥有该库的最新版本
  2. 您尚未将 jar 添加到构建路径中。要解决此问题,请右键单击 Eclipse 中的 jar,然后执行 Build Path ► Add to Build Path。
  3. 您的 jar 不在/libs文件夹中。当您将 jar 添加到构建路径时会发生这种情况,但较新版本的 ADT 需要它位于/libs. 把它放在那里,它会自动添加到构建路径中。如果不是,请尝试通过ant clean或 Project ► Clean in eclipse 进行清理构建。

大多数情况下,出现此类错误是因为较新版本的 ADT 要求所有外部 jar 都位于 libs 文件夹中。

通过查看您链接到的项目,我可以在项目根目录中看到 paypal jar。相反,请尝试将其移动到/libs文件夹中。这应该可以解决您的问题。

于 2012-10-29T10:52:47.843 回答
1

我认为您还没有从 eclipse 的配置构建路径部分导出库 jar。

于 2012-10-29T10:56:04.273 回答
0

在项目目录中创建 libs 目录并将移动 PayPal_MECL.jar 添加到 /libs。转到项目属性并从库中删除现有的 PayPal_MECL 条目

于 2013-04-10T07:22:37.947 回答