ライブラリ自体であるプロジェクトのライブラリプロジェクトとしてActionBarSherlockを使用しています。プロジェクトを新しいコンピューターに移動してSDKツールを更新するまで、すべて正常に機能していました。
理解できないこのエラーがあります。次のようにSherlockFragmentを拡張するクラスを作成すると:
import com.actionbarsherlock.app.SherlockFragment;
public class SomeFragment extends SherlockFragment {
...
}
次のコンパイルエラーがあります。
The type Android.support.v4.app.Fragment cannot be resolved. It is indirectly referenced from required .class files
以下を確認しました。
他に何か?
SDKを更新してから、あなたと同じ問題がありました。私はこれを(Eclipseで)することで問題を解決しました:
Properties
=> Java Build Path
=> Order and Export
tab =>チェックAndroid support v4
またはAndroid Private Libraries
および[OK]を選択しますcheck Android Private Libraries
Sebastienの答えは実際に私を解決に導いた。ただし、エクスポート用にサポートライブラリを確認できるようにするには、ビルドパスにサポートライブラリを手動で追加する必要があることに注意することが重要です。今後の参考のために、問題を解決した手順を以下に示します。
しかし、なぜこれがそんなに複雑でなければならないのかは謎です-Joshが述べたように、EclipseとAndroidおよびいくつかの依存関係を持つ大規模なプロジェクトを組み合わせて使用するのは困難です。近い将来改善されます。
私の場合、Androidサポートライブラリを必要とする2つのAndroidライブラリを使用しています。問題は、両方のライブラリに異なるバージョンのAndroidサポートライブラリがあったことです。
問題を解決するには:ライブラリプロジェクトを右クリック=> Androidツール=>サポートライブラリを追加します。
ライブラリごとにこのアクションを繰り返します。
同じ問題がありました。 2つの異なるライブラリがありました。メインプロジェクトからサポートライブラリを削除する
最も簡単なソリューションは次のとおりです。
プロジェクトフォルダーを右クリック->ビルドパス->ビルドパスの構成->外部Jarsの追加(ライブラリタブから)->「Android-support-v4.jar」ファイルを選択します。
(Android SDKフォルダーは一般的なパス「Android-sdk\extras\Android\support\v4」です)にあります)。
この後、あなたはプロジェクトと幸せなコーディングをします...
私の場合、同じ問題に直面しました。プロジェクトを右クリックして解決しました-> Buid path-> Configure Build path-> "select Android from left hand list"-> "右側のパネルからプロジェクトターゲットをビルドするためのチェックボックス」-> [適用]をクリックし、[OK]をクリックします
Android Studioを使用していて、同様の問題(ListFragmentのロード用)に直面しました。最初にライブラリをインポートしました:
import Android.support.v4.app.ListFragment;
そして、アプリのディレクトリ内のbuild.gradleを更新しました:依存関係セクションにサポートライブラリが含まれていることを確認してください-
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.Android.support:appcompat-v7:20.0.0 }
私はstackoverflowの初心者です。しかし、これはここでの私の解決策または経験です。これを解決するには、プロジェクトのプロパティ->左パネルの「Android」->追加->ドロップダウンメニューから必要なサポートライブラリを選択->「適用」-> OK
これで完了です。これは、「Android Private Libraries」がJava Build Path。
私のために働いたのは、スレッドの@Sebastienと@FleshWoundによるソリューションとは少し異なっていました。