2013-05-06 5 views
15

Es gibt zahlreiche Q & A über IntelliJ 12 + ABS (ActionBarSherlock) Einstellungen.IntelliJ 12 + ActionBarSherlock Einstellungen: Konnte nicht finden 'android.support.v4.app.FragmentActivity'

ähnlicher Fall zu this question aber zeigt verschiedene Fehler.

Gesamtkompilierung und Ausführung sind OK, aber nur die Aktivität mit Tabulatornavigation (SherlockActivity implements ActionBar.TabListener) gibt folgenden Fehler und Absturz. Beachten Sie, dass ich allgemeine SherlockActivity gut zeigt.

"konnte nicht gefunden Klasse 'android.support.v4.app.FragmentActivity', verwiesen von Verfahren com.actionbarsherlock.internal.app.ActionBarWrapper $ TabWrapper.onTabReselected" auf alle überschriebenen Methoden (onTabUnselected, onTabSelected, onTabReselected).

Es scheint, dass android-support-v4 nicht erfolgreich referenziert wird, aber schwer zu finden mit check/uncheck trial-and-errors.

Meine IntelliJ Projekteinstellungen sind wie folgt.

1. Bibliothek ist ein Name des ABS Bibliotheksordners. library settings

2. Meine Projekteinstellungen. my settings

eingestellt I sowohl android-support-v4 zu vorgesehen. Was kann ich mehr tun?

sagte Einige Antworten auf entfernen android-support-v4 auf mein eigenes Projekt, aber es zeigt Referenzfehler auf import android.support.v4.app.FragmentTransaction weil implements ActionBar.TabListener es erfordert.

+0

Bitte teilen Sie Ihre Ansicht hier http://StackOverflow.com/Q/18427768/2624806 .. Ich bin auch vor demselben Problem. – CoDe

Antwort

14

Diese Konfiguration ist nicht korrekt, der Umfang der android-support-v4-Bibliothek muss auf festgelegt werden Kompilieren Sie, da es nicht auf Android vorhanden ist und in Ihrer Anwendung enthalten sein muss.

zweite Kopie von android-support-v4 muß aus den Anwendungsabhängigkeiten entfernt wird, wird es über ein Bibliotheksmodul für Ihre Anwendung zur Verfügung, die Export Option für android-support-v4 aktiviert ist.

+0

Danke für die Antwort von JetBrains! :) Seltsam, wie ich schon sagte, 'importieren android.support.v4.app.FragmentTransaction;' zeigt rot (kann Symbolfehler nicht auflösen) in meinem Projekt. Ich kann sehen, die ABS-Kompilierungsergebnis-Ordner-Bibliothek (ABS)/bin/Klassen/Android/support/v4/app hat nur Watson.class und seine einzige Referenz-fähige Import in meinem Projekt. Irgendwelche anderen Sachen, die ich überprüfen muss? (aber ich kann sehen, Android-support-v4 ist gut in der Registerkarte Bibliotheken im Fenster Projektstruktur aufgelistet). – Youngjae

+3

Probieren Sie 'File' | 'Invalidate Caches' und Neustart, Doppelprüfung' android-support-v4' Bibliothek enthält tatsächlich 'android-support-v4.jar' Datei. – CrazyCoder

+0

CrazyCoder // Das Problem war, dass ich versuchte, einige Bibliotheken mit ** Maven ** hinzuzufügen, wie wir in der zweiten Abbildung sehen können. Ich habe nicht erkannt, dass Maven den Build-Ergebnispfad ändert und Abhängigkeiten verwaltet, die nicht mit den Projektstruktureinstellungen zusammenhängen. (maven output/target enthielt nicht android-support-v4.jar) – Youngjae

0

Ich habe adt/sdk/extras/android/support/v4/android-support-v4.jar (adt sollte auf den android sdk zeigen) auf den Klassenpfad des Android SDK in Idee.

2

Ich habe auch dieses Problem in Android Studio (Version 1.1.0), wenn ich den "EffectiveNavigation" -App aus den Google-Beispielen (Link: http://developer.android.com/training/implementing-navigation/lateral.html) prüfen/testen wollte, war

Was ich tun musste, diesen Code-Schnipsel auf dem Pfad "\ EffectivNavigation \ app \ builde.gradle" hinzuzufügen:

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:support-v4:20.0.0' 
} 

So ist die ganze bauen.gradle sieht wie folgt aus:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 21 
    buildToolsVersion "21.1.2" 

    defaultConfig { 
     applicationId "com.example.android.effectivenavigation" 
     minSdkVersion 14 
     targetSdkVersion 14 
    } 

    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:support-v4:20.0.0' 
} 

Sie auch

compile 'com.android.support:support-v4:20.+' 

statt

compile 'com.android.support:support-v4:20.0.0' 

Vielleicht diese Antwort ist hilfreich für Sie als die anderen Antworten verwenden können.

Verwandte Themen