web-dev-qa-db-ja.com

android-support-v4.jarがEclipseに正しくインポートされない

Android-support-v4.jarとそれに含まれるFragmentationクラスを使用してアプリをコンパイルしようとしていますが、コードにエラーがあることをコンパイルしようとするとメッセージが表示され続けます。すべてのエラーは、.JARにある別のFragmentationクラスに関係しています。プロジェクトフォルダーをctrl-clicking試し、Android Tools -> Add Compatibility Libraryを選択したところ、次のエラーが発生します:

[2011-12-20 11:55:31 - Android Compatibility JAR not found:]
/Applications/Eclipse/Eclipse.app/Contents/MacOS/v4/Android-support-v4.jar

Eclipseのパッケージコンテンツで.JARを探しているのはなぜですか?プロジェクトのプロパティを調べて、Javaビルドパスに移動し、.JARフォルダからMainActivity/libsをインポートしましたが、機能しませんでした。 SDKディレクトリからインポートしようとしましたが、うまくいきませんでした。プロジェクトのプロパティを修正し、何度もクリーンアップしてビルドしました。Eclipseを再起動し、コンピューターを再ダウンロードし、Eclipseを再ダウンロードしてインストールしました= Android SDKとADT、それでも何もありません。私は完全に困惑しています。


編集する


ビルドパスを確認し、MainActivity/libsとSDKディレクトリの両方から.JARをインポートしました。それの地獄のために、私はディレクトリに.JARを追加しましたが、これはエラーに表示され続け、機能しません。 EclipseのアプリケーションパッケージコンテンツでEclipseを探すために何をしているのですか?


更新


したがって、プロジェクトの内容をいじった後、エラーは表示されていませんが、MainActivityフォルダーにはまだエラーがあり、コンパイルできません。

ニャのように:

enter image description here


リビジョン


だから私は「プロジェクトがlibsディレクトリまたはAndroid SDKディレクトリの代わりに、Eclipseアプリケーションのパッケージコンテンツで.JARを探すのはなぜですか?以前は外部.JARとしてインポートしていましたか?」


アップデート#2


いじってからエラーが1つだけ発生します。これはこのメソッドに関するものです。

@Override
public MenuItem setOnActionExpandListener(OnActionExpandListener onActionExpandListener) {
    // Noop
    return this;
}

クイックフィックスは、@ Overrideアノテーションを削除する必要があると述べていますが、そのメソッドはスーパークラスメソッドをオーバーライドする必要があります。

これらはそれが示すエラーです:

Multiple markers at this line
- The method setOnActionExpandListener(MenuItem.OnActionExpandListener) of type SimpleMenuItem must override a superclass method
- implements Android.view.MenuItem.setOnActionExpandListener
16
JustLikeThat

デバッグ証明書の有効期限が切れていることがわかりました。削除する必要があるのは~/.Android/debug.keystoreとEclipseを再起動すると、すべてが機能しました。

2
JustLikeThat

ここでjarを探しているようです:/アプリケーション/Eclipse/Eclipse.app/Contents/MacOS/v4/Android-support-v4.jar

Android-support-v4.jarは<sdk>/extras/Android/compatibility/v4にあります

これをJavaビルドパスの外部jarとして追加してください。

19
Rajdeep Dua

私はこの問題を1- libから「Android-support-v4.jar」を削除することで解決できます2-プロジェクトの名前を右クリックし、「Android Tools」と「Add Support Library」を選択します

12
aml elmahalawy

これがまだ解決されない場合:すでに述べたように、Eclipseでプロジェクトのプロパティに移動します> Javaビルドパス> Libs> Add Externalに移動し、adkディレクトリから1つ取得します。

また、Java 1.6をまだ設定していない場合は、デフォルトのコンパイルバージョンとして設定します。これにより、説明したオーバーライドエラーが解決されます。

4
Juke

プロジェクトを右クリック-> Android tools-> select support libraryを選択し、サポートライブラリをインストールするだけです。

1
mani

同様のことが私に起こりました。 MainActivity.Javaの先頭で、次のインポートでエラーが発生しました。

import Android.support.v4.app.FragmentActivity;
import Android.support.v4.app.FragmentManager;
import Android.support.v4.app.FragmentTransaction;

左側の各線には電球がいくつかの提案をしていました。それをクリックすると、オプションの1つが「プロジェクト設定の修正」になります。その後、インポートを修正するためのいくつかのオプションから選択できます。Android-support-v4.jarを指定するオプションを選択する必要があります。

1
evaldeslacasa

Ubuntuでも同じ問題が発生しました。 [ツール]-> [オプション]に移動します。 Force https:// ... to http:// Open Android SDK Manager。Extras-> Android Support Libraryを確認してください。

1
user2077784

私はこの質問に回答済みであることを理解していますが、これは既知の問題であり、コメント9に従ってADT-17プラグインリリースで修正されることになっています http://code.google.com/p/ Android/issues/detail?id = 21488

さらに、この問題が発生した場合は、互換性JARが見つからないという場所に互換性JARをコピーできます。 (Android-sdkディレクトリではなくEclipseディレクトリをチェックしているため)明らかに間違った場所を探しているので、今のところ、単純な修正は、パッケージを見つけたくない場所に置いておくだけです。属する。

私にとっては、C:/ Android-sdk/extras/Android/support /内のv4ディレクトリをC:/ Eclipse /ディレクトリにコピーするのと同じくらい簡単でした。

1
cunninghamp3

Android Tools-> Add Compatibility Libraryを追加せず、jarをJavaビルドパスライブラリにのみ追加しますか?.

私はこの方法でこのjarライブラリを使用し、問題なく動作します。

0
jegumi

解決策:Androidプロジェクトの作成時(または作成後のマニフェストファイル)で)、「ターゲットSDK」と「コンパイル先」に同じAPIを入力してください。

別の警告は、管理者権限なしでAndroid Windows 7のSDK Managerを実行していたことです。サポートパッケージをインストールしようとしましたが、常に失敗し、実際のパッケージはダウンロードされませんでした。

C:\ Program Files(x86)\ Android\android-sdk\extras\Android\support\v4\Android-support-v4.jar

0
Dmitri

私も同じ問題を抱えていました。

プロジェクトプロパティ:Javaビルドパス:順序とエクスポートタブで、Android-support-v4.jarの横のボックスがチェックされていませんでした。チェックボックスをオンにすると、エラーはなくなりました。

0
Beer Me