2

Android でモバイル エクスプレス チェックアウト ライブラリのサンプル アプリをテストしています。

私は得ていますjava.lang.NoClassDefFoundError: com.paypal.android.pizza.ResultDelegate

エラーは、次の Pizza.java 行にあります。PayPal.fetchDeviceReferenceTokenWithAppID(this, appID, server, new ResultDelegate());

私は混乱しています.Googleでそのエラーに関する情報を見つけられなかったし、paypalとx.comのFAQでも見つけられなかったので、解決方法がわかりません.

サンプル コード プロジェクトを開いて実行しただけです。

これは、プロジェクトとライブラリへのリンクです: https://www.x.com/sites/default/files/PayPal_MECL_1.0_Android-Developer-Package_0.zip

4

3 に答える 3

8

このエラーが発生する理由は 3 つだけです。

  1. クラスは本当に存在しません。公式の例のコードを使用してこれを取得している場合は、ライブラリの最新のビルドがあることを確認してください。
  2. jar をビルド パスに追加していません。これを修正するには、Eclipse で jar を右クリックし、[ビルド パス] ► [ビルド パスに追加] を実行します。
  3. あなたの瓶は/libsフォルダにありません。これは、ビルド パスに jar を追加した場合に発生しますが、新しいバージョンの ADT では .xml にある必要があります/libs。そこに置くと、ビルドパスに自動的に追加されます。ant cleanそうでない場合は、または Project ► Clean in eclipseを使用してクリーン ビルドを実行してみてください。

ほとんどの場合、ADT の新しいバージョンではすべての外部 jar が libs フォルダーにある必要があるため、このようなエラーが発生します。

リンク先のプロジェクトを見ると、プロジェクトのルートにあるペイパルの 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 に答える