3

Android アプリケーションを開発しており、ライブラリのスライド メニュー (github.com/jfeinstein10/SlidingMenu) を使用しようとしています。ただし、クリーンなプロジェクトでライブラリを使用する際に問題があります。私は得る

java.lang.NoClassDefFoundError: com.slidingmenu.lib.R$styleable

するとき

SlidingMenu slidingMenu = new SlidingMenu();

テスト済みの構成: JDK テスト済み 1.6u43、1.7(最新) プロジェクト ターゲット API = Android 4.2.2 と Google API の両方を試した 17 SDK バージョン テスト済み 21、21.0.1、21.1 Windows 8 Pro x64、Intel Core i7 3610QM、Nvidia GT660M、Samsung Pro 840 256GB SSD Actionbarsherlock の有無にかかわらず統合されています。

既存のコードから Android プロジェクトを作成し、Android プロパティで「Is Library」をマークしてから、元のアプリケーションの Android プロパティで参照する (.jar 経由ではない) ことにより、ライブラリをインポートします。

以下のコード スニペット、完全なスタック トレース、および現在の構成のスクリーンショットへのリンク

コード スニペット: http://pastebin.com/2yzRC5AJ

完全なスタックトレース: http://pastebin.com/D7RQwuQd

私はこれで3日間立ち往生しています... :/

4

5 に答える 5

3

noclassdef エラーを根絶する前に、依存関係を 2 つの方法で追加する必要がありました

  1. /bin から library.jar を依存関係としてビルド パスに追加し、必ず [注文とエクスポート] タブを選択し、新しい依存関係のチェック ボックスも選択します。

  2. プロジェクトを右クリックしてライブラリを追加し、プロパティ、Android、ライブラリを追加します

  3. 出来上がり

私もこれに苦労し、膨大な数のグーグル検索から、なんとかこれをつなぎ合わせることができました.

それが役に立てば幸い..

于 2013-04-29T09:01:28.663 に答える
1

簡単な解決策: プロジェクトに既にサポート ライブラリが含まれている場合は、サポート ライブラリをライブラリ (jfeinstein10 / SlidingMenu) から削除するだけで、すべて正常に動作します。インポート後にも実行できます。

于 2014-02-03T12:16:01.970 に答える
0

1) プロジェクト (ANDROID) のプロパティにライブラリを追加するだけです。
2) そして、(JAVA BUILD PATH) の Order & Export プロパティで同じものをマークします。

于 2014-01-13T20:20:59.687 に答える
0

私も同じ問題を抱えていました。IDE でアプリをビルドしているため、このモジュールがLibraryであることをIDEに伝える必要があるため、.properties ファイルでライブラリを定義しても意味がありません。IDEビルドファイルを変更してみてください。私はEclipseに慣れていませんが、Androidスタジオでは次の行で十分です:

モジュール.iml

<configuration>
    <option name="LIBRARY_PROJECT" value="true" />
</configuration>
于 2014-06-18T12:50:30.070 に答える