【问题标题】:Paypal Mobile Express Checkout Library sample app gives me NoClassDefFoundError ExceptionPaypal Mobile Express Checkout Library 示例应用程序给了我 NoClassDefFoundError 异常
【发布时间】:2012-10-18 16:22:36
【问题描述】:

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

我收到java.lang.NoClassDefFoundError: com.paypal.android.pizza.ResultDelegate

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

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

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

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

【问题讨论】:

    标签: android paypal


    【解决方案1】:

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

    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 文件夹中。这应该可以解决您的问题。

    【讨论】:

    • 同样在Order和Import属性中,将要检查的jar文件放在最前面。
    • 好的,现在可以了,但现在我得到了 10-29 11:57:30.897: E/Error(31517): Authentication failed, button not enabled.
    • 这与这个问题无关。请为此打开另一个问题。
    【解决方案2】:

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

    【讨论】:

    • 10-29 11:57:30.897:E/Error(31517):身份验证失败,按钮未启用。
    • 为此请发布完整的堆栈跟踪
    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-23
      • 2014-07-14
      • 1970-01-01
      • 2013-04-27
      • 1970-01-01
      • 2012-10-10
      • 2011-10-23
      • 2016-03-15
      相关资源
      最近更新 更多