4

Android プロジェクトに外部ライブラリを追加しようとしましたが、うまくいきませんでした。私のアプリケーションは、実行時に例外でクラッシュしました:

09-06 07:44:41.921: E/AndroidRuntime(601): java.lang.NoClassDefFoundError: org.brickred.socialauth.android.SocialAuthAdapter

多くの異なる魔法の解決策が見つかりましたが、何も役に立ちませんでした:

  1. ディレクトリ「libs」を作成し、そこに JAR を追加しました。
  2. また、「プロジェクト プロパティ → Java ビルド パス → ライブラリ」に JAR を追加しました。
  3. 「プロジェクトのプロパティ→Javaビルドパス→注文とエクスポート」でJARを一番上に移動してチェック
  4. プロジェクトをきれいにし、新しいプロジェクトを作成しようとしました。
  5. Eclipseの最新バージョンをインストールしました。

ライブラリを追加すると、APK のサイズが変更されます。

何か案は?

使用したソフトウェア:

  • Eclipse: バージョン: Juno リリース ビルド ID: 20120614-1722
  • ADT: 20.0.3.v201208082019-427395
4

7 に答える 7

2

私は同じ問題を抱えていましたが、ここにある既存の回答はどれも問題を解決しませんでした。

次に、SocialAuth の例 (動作) を確認したところ、jar 名が私のものとは異なることに気付きました。socialauth-android-1.0.jarではなくsocialauth-android.jarです。

socialauth-android.jar jarを使用したところ、ランタイム エラーがなくなりました。

于 2012-11-04T17:10:26.890 に答える
1

AndroidManifest.xml ファイルで新しいアクティビティを定義するだけです。

<application> ----</application>マニフェスト ファイルのタグ内に以下のコードを挿入します。

<uses-library android:name="org.brickred.socialauth.android.SocialAuthAdapter" />
于 2012-09-06T18:08:51.903 に答える
0

libs フォルダーに socialauth-*.jar と socialauth-android.jar がある場合は、それを右クリックして [ビルド パス] > [ビルド パスに追加] を選択します。私の場合、プロジェクトで「参照ライブラリ」を取得すると、問題はなくなりました。

于 2012-10-16T05:49:12.903 に答える
0

libs フォルダーに jar ファイルを貼り付けます *-> properties-> java build path->libraries-> に移動します Add jars ->* アプリケーション libs フォルダーを選択します そして jar ファイルを選択し、OK を押してプロジェクトをクリアします。

于 2012-09-06T08:32:36.420 に答える
0

SDK で提供されている jar をビルド パスに追加するだけです。SDK内で他の例を試しましたか。それでも問題が解決しない場合は、socialauth android のサポートにメールしてください。

于 2012-09-12T08:31:48.873 に答える
0

java.lang.NoClassDefFoundError は実行時エラーです。これは、プロジェクト内のどこにどのように jar を配置するかは重要ではないことを意味します (ここで jar が欠落していると、コンパイル時にエラーが発生します)。重要なことは、ビルドされた結果の jar に必要な jar が含まれていることを確認することです。コンパイル/生成された jar ファイルを開いて、必要な jar が含まれているかどうか、およびそれらが正しい場所にあることを確認してください。

于 2012-09-06T08:55:14.897 に答える