Wie hänge ich die Quelle der Android Support Library in Eclipse an?

79

Es ist fantastisch, den Quellcode an externe Bibliotheken anzuhängen. Wo finde ich den Quellcode für das v4- Supportpaket ? Vorzugsweise wäre es eine Zip-Datei, die leicht an die android-support-v4.jarin Eclipse angehängt werden könnte .

Håvard Geithus
quelle
4
imo @andr Antwort ist diejenige zu akzeptieren
Amir Uval

Antworten:

66

Nach dem Herunterladen des Support-Pakets vom Android SDK-Manager finden Sie den Quellcode des Support-Pakets im Ordner <android-sdks> / extras / android / support / v4 / src.

Jacob Dam
quelle
12
In meinem Fall wurde es in gespeichert C:\Program Files\Android\android-sdk\extras\android\compatibility\v4\src\java. Ich nahm dann seinen Inhalt (den Android-Ordner) und packte ihn mit diesem Befehl in eine * .jar : jar cf android-support-v4-sources.jar android/. Ich habe dieses JAR an android-support-v4.jar angehängt (Java-Erstellungspfad / Bibliothekseinstellungen in Eclipse). Funktioniert gut :)
Håvard Geithus
5
Dies scheint jetzt nicht zu funktionieren. Wie kann ich es zum Laufen bringen? Ich verwende ADT 21.1. Die Dokumentquelle oder Java-Quelle von android-support-v4.jar kann nicht geändert werden. Klicken Sie mit der rechten Maustaste auf Projekt, Eigenschaften> Java-Erstellungspfad> Registerkarte Bibliotheken, Android Private Libraries> android-support-v4.jar - Quellanhang: (Keine) - nicht änderbar. :(
Thupten
3
Ok, ich muss es funktionieren. Das Android-support-v4.jar müssen in Referenced Librariesvon der rechten Maustaste, Build Path.., Add to Path. Referenced LibrariesKlicken Sie dann mit der rechten Maustaste auf Eigenschaften auf android-support-v4 und legen Sie die Quellen fest.
Thupten
Diese Antwort beantwortet die Frage des OP vollständig. Um es in Eclipse an Ihre JAR-Datei anzuhängen, siehe Antwort von @andr
JRomero
@Thupten, referenzieren Sie dann nicht zweimal, wenn einer ausreicht?
Pacerier
122

Ich möchte nur noch eine weitere Methode zum Anhängen von Quellen für die Support-Bibliothek hinzufügen. Es erfordert ADT in Version 20 oder höher . Angeblich funktioniert diese Methode für alle JARs, für die das Festlegen des Quell- / Javadoc-Speicherorts vom Container deaktiviert wird. Folgendes müssen Sie tun:

  1. Die android-support-v4.jarBibliothek befindet sich im libsVerzeichnis Ihres Projekts. Erstellen Sie in demselben Verzeichnis eine reguläre Java-Eigenschaftendatei mit dem Namen genau wie die betreffende JAR, jedoch mit der angehängten .propertiesErweiterung. Für unsere Support-Bibliothek ist es also :
    android-support-v4.jar.properties.

  2. Öffnen Sie die erstellte Eigenschaftendatei und legen Sie den Wert der Eigenschaft srcan dem Speicherort fest, an dem sich die Quellen für diese Bibliothek befinden. Ihre Datei sollte eine Zeile haben wie:

    src=c:/apps/adt-bundle-windows-64bit/sdk/extras/android/support/v4/src
    
  3. Speicher die Datei.

  4. Schließen Sie Ihr Android-Projekt und öffnen Sie es erneut.

  5. Versuchen Sie, zu einer der Support-Klassen zu navigieren. Der Quellanhang sollte jetzt funktionieren.

Hat in meinem Fall perfekt funktioniert.

Beachten Sie Folgendes: Wenn srces sich nicht um einen absoluten Pfad handelt, wird er ab dem übergeordneten Verzeichnis der JAR-Datei aufgelöst. Am Beispiel der Supportbibliothek: Wenn src=support/srcADT davon ausgeht, dass sich die Klassenquellen in befinden libs/support/src.

Eine kurze Beschreibung dieser Funktion des Autors finden Sie hier .

Wenn jemand daran interessiert ist, wie genau diese .propertiesDatei verarbeitet wird, empfehle ich, Patch-Set Nr. 4 zu lesen. Änderungen in eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/ internal/project/LibraryClasspathContainerInitializer.java:)

Bearbeiten

Bitte lesen Sie auch einen schönen Kommentar von WindRider zum richtigen Hinzufügen von Quellen in einem Projekt mit mehreren Bibliotheken, auf die verwiesen wird.

andr
quelle
9
Dies ist der "offizielle" und empfohlene Weg, dies zu tun.
BoD
10
Beachten Sie, dass Sie sicherstellen müssen, dass alle Kopien von android-support-v4.jar dieselben Binärdateien sind, wenn Sie ein großes Projekt mit mehreren referenzierten Bibliotheken haben, die wiederum auf die Android-Unterstützungsbibliothek verweisen. Andernfalls wird der seltsame Fehler "Prüfsummenfehlanpassung bla bla" angezeigt. Außerdem wird nur eine dieser unterstützenden lib-Kopien importiert, möglicherweise eine, die im Ordner lib \ der Bibliotheksprojekte enthalten ist. Um zu sehen, welche verwendet wird, öffnen Sie den Paket-Explorer -> Android-Abhängigkeiten und sehen Sie, woher die Support-Bibliothek importiert wird. Führen Sie dann das gleiche Verfahren nicht für das Hauptprojekt, sondern für das Bibliotheksprojekt aus.
WindRider
2
Nachdem ich einige der anderen ausprobiert habe, kann ich sagen, dass dies die beste Antwort ist - sollte als die richtige akzeptiert werden.
Amir Uval
2
@ Simulant - Ich bin kein Experte für ActionBar-kompatible Bibliotheken, aber auf den ersten Blick gehe ich davon aus, dass Sie es als separates Android Lib-Projekt importieren und als Abhängigkeit in Ihrem Hauptprojekt referenzieren müssen, um es zu verwenden, oder? In diesem Fall müssen Sie nur die hier beschriebenen Schritte für das Verzeichnis "libs" des lib-Projekts ausführen . Dieses Verzeichnis sollte zwei .jarDateien haben: android-support-v4.jarund android-support-v7-appcompat.jarfür die Sie die genannten .propertiesDateien erstellen können sollten .
andr
5
Wenn Sie Windows verwenden, stellen Sie sicher, dass Sie Schrägstriche in der srcZeile verwenden.
Scutterman
83

Hier die Lösung, um die Quelle der Support-Bibliothek in Eclipse Juno anzuhängen

Ich nehme an, Ihr Projekt befindet sich bereits android-support-v4.jarin Ihrem "Erstellungspfad" unter "Android-Abhängigkeiten", aber Sie können das Quellverzeichnis nicht daran anhängen. (Der "Quellanhang" sagte "Nicht modifizierbar"). Lösung:

  • Gehe zu "Build-Pfad konfigurieren"
  • Externe JARs hinzufügen> YourProject/libs/android-support-v4.jar (Ich weiß, dass Ihr Projekt bereits darauf verwiesen hat, aber keine Sorge, fügen Sie es einfach erneut hinzu).
  • Erweitern Sie das Glas und hängen Sie die Quelle an das externe Glas an: android-sdk/extras/android/support/v4/src
  • Wechseln Sie zur Registerkarte "Bestellen und Exportieren" und rufen Sie das externe Glas über "Android-Abhängigkeiten" auf.

Viel Spaß beim Navigieren in der Support-Bibliothek mit Source!

Wenn Sie ein "Android-Testprojekt" angehängt haben, YourProjectwird es YourProjectTestmöglicherweise nicht mehr kompiliert. In diesem Fall müssen Sie zu "Bestellen und Exportieren" zurückkehren und das externe Glas unterhalb der "Android-Abhängigkeiten" herunterziehen, um die Normalität wiederherzustellen.

Hiep
quelle
2
"Java Build Path" und nicht "Configuration Build Path" für mich.
user123321
4
Dies hatte alle notwendigen Schritte und funktionierte für mich! Der letzte Schritt (Bestellung) wurde von anderen weggelassen und war sehr wichtig.
CottonBallPaws
3
Ich hatte android-support-v4.jar in Android Private Libraries (APL, die über Android Dependencies aufgeführt war) aufgeführt, also musste ich die neu hinzugefügte .jar über APL
Kuitsi
1
Für die Aufzeichnung funktioniert dies auch mit anderen Bibliotheken, nicht nur mit der Unterstützungsbibliothek. / Captain Obvious
Emil Lundberg
2
Sie sollten das nicht tun müssen. Es widerspricht der Ersteinrichtung einer Standard-Android-Anwendung. Ich würde empfehlen, dass Sie die "offizielle" Lösung von @andr verwenden.
JRomero
16

Unter Bezugnahme auf die akzeptierte Antwort ist es auch möglich, die Quelle direkt aus dem Verzeichnis anzuhängen, ohne eine JAR-Datei zu erstellen. Erweitern Sie auf der Registerkarte Java-Erstellungspfad / Bibliotheken android-support-v4.jar, markieren Sie "Quellanhang", klicken Sie auf "Bearbeiten ...", "Externer Ordner ..." und zeigen Sie dann auf (android-sdk) \ extras \ android \ support \ v4.

Dies wurde mit Eclipse Indigo getestet.

Aus den Kommentaren:

Das Problem, dass der Support-Bibliothek keine Quelle hinzugefügt werden kann, scheint aufzutreten, wenn sich Ihre Support-Bibliothek im Ordner "Android-Abhängigkeiten" Ihres Projekts befindet. Die Problemumgehung erfolgt auf derselben Registerkarte "Java-Erstellungspfad / Bibliotheken". Klicken Sie auf "Externe JARs hinzufügen ..." und suchen Sie die JAR-Datei in Ihrem Pfad (android-sdk) \ extras \ android \ support \ v4. Es wird dann in Ihrem Projekt-Setup unter einem neuen Ordner "Referenzierte Bibliotheken" angezeigt.

happydude
quelle
5
Wenn Sie nicht den Fehler haben, mit dem Sie keine Quellen an das Glas anhängen können, natürlich.
Ixx
1
Das wäre großartig, aber meine Schaltfläche "Bearbeiten" ist ausgegraut: /. Ist das der Fehler, den Sie lxx erwähnen? Eine Lösung gefunden?
Span
3
Es ist alles ausgegraut, es heißt "nicht veränderbar"
Mister Smith
2
Das Problem, dass der Support-Bibliothek keine Quelle hinzugefügt werden kann, scheint aufzutreten, wenn sich Ihre Support-Bibliothek im Ordner "Android-Abhängigkeiten" Ihres Projekts befindet. Die Problemumgehung erfolgt auf derselben Registerkarte "Java-Erstellungspfad / Bibliotheken". Klicken Sie auf "Externe JARs hinzufügen ..." und suchen Sie die JAR-Datei in Ihrem Pfad (android-sdk) \ extras \ android \ support \ v4. Es wird dann in Ihrem Projekt-Setup unter einem neuen Ordner "Referenzierte Bibliotheken" angezeigt. Sie können dann die Quelle an diese JAR-Datei anhängen, wie in der ursprünglichen Antwort angegeben.
happydude
2

Für diejenigen, die möchten, dass der Standard die JAR-Datei des Quellcodes hat, was die Quellcodeverwaltung und die gemeinsame Nutzung des Projekts erleichtert.

Zum Beispiel:

../android-support-v4.jar
../android-support-v4-src.jar

Es ist einfach, die Quell-JAR-Datei zu erstellen und anzuhängen:

  1. cd to path_to_android_sdk / extras / android / kompatibilität / v4 /
  2. Verwenden Sie Ihr bevorzugtes Zip-Programm wie 7-zip, um eine Zip-Datei zu erstellen und sie android-support-v4-src.jar zu nennen. Der erste Ordner im Glas sollte / scr sein.
  3. Kopieren Sie die Datei in Ihr Projekt. In diesem Beispiel befindet sie sich im selben Ordner wie das Code-Jar.
  4. Hängen Sie in Eclipse das Quellglas in die Projekteigenschaften ein.
fishjd
quelle
Danke für deine Antwort. Zum Erstellen des JAR-Archivs kann auch das im JDK enthaltene JAR-Programm verwendet werden.
Håvard Geithus
1

Ich entferne einfach die automatisch generierte und füge sie dann manuell als Referenzbibliothek hinzu.

Öffnen Sie zuerst eine Klasse. Die IDE fordert Sie auf, die angehängte Quelle zu ändern.

Hisenberg
quelle
0

Das Anhängen von src und doc über den Erstellungspfad funktioniert für einige und für einige (wie mich) nicht. einige wichtige Dinge zu beachten

  1. Stellen Sie sicher, dass Sie sich im Paket-Explorer und nicht im Projektnavigator befinden .

  2. Wenn Sie Ihre android-support-v4.jar im libs-Ordner unter Ihrem Projekt abgelegt haben. groß.

  3. Klicken Sie mit der rechten Maustaste auf das Glas, Pfad erstellen. Zum Pfad hinzufügen. (Wenn "Zum Pfad hinzufügen" nicht angezeigt wird, ist es bereits hinzugefügt. Der Pfad "Konfigurieren" wird angezeigt.)

  4. Als Ergebnis von Schritt 3 wird im Paket-Explorer-Baum ein neuer Ordner mit dem Namen " Referenzierte Bibliotheken" angezeigt. Öffne diesen Baum und finde dort die android-support-v4.jar. Klicken Sie mit der rechten Maustaste auf dieses Glas in den Eigenschaften " Referenzierte Bibliotheken" . Stellen Sie dann dort den Java-Quellanhang und den Javadoc-Speicherort ein.

  5. Du bist fertig.

Der Pfad für meinen Java-Quellanhang (sein externer Speicherort)

C: / Benutzer / thupten / adt-bundle-windows-x86_64-20130514 / sdk / extras / android / support / v4 / src

Ich habe die Android-Website doc als Speicherort für Java-Dokumente verwendet

http://developer.android.com/reference/android/support/v4/app/package-summary.html

Thupten
quelle
0

Ich habe das für mich gefunden:

Für die Hauptbibliothek: android.jar:

src: sdk / sources / android-19 doc: sdk / docs / reference /

Für die Unterstützung lib: android-support-v4.jar: (Vorher sollten wir android-support-v4.jar wie eine externe JAR hinzufügen (Projekteigenschaften -> Java-Erstellungspfad -> Bibliotheken, dann in Tab 'Reihenfolge und Export' aufrufen diese Bibliothek vor Android Private Libraries)):

src: sdk / extras / android / support / v4 / src / java doc: http://developer.android.com/reference/android/support/v4/app/package-summary.html (nicht sicher)

Ultraon
quelle
0

Nachdem Sie das SDK aktualisiert und die darin enthaltenen Dokumentationen heruntergeladen haben:

  • Importieren Sie das Support-Bibliotheksprojekt in den Paket-Explorer.
  • Erstellen Sie einen Ordner in der Bibliothek und nennen Sie ihn so ext-jars.
  • Bewegen Sie android-support-v4.jarauf den ext-jarsOrdner.

    Geben Sie hier die Bildbeschreibung ein

  • Klicken Sie mit der rechten Maustaste auf das Projekt und klicken Sie auf Eigenschaften.
  • Klicken Sie im linken Menü auf Java Build Path und wählen Sie die Registerkarte Libraries.
  • Klicken Sie auf, Add JARs...erweitern Sie das Projekt und wählen Sie die JAR-Datei aus, die Sie bereits in den Ordner verschoben haben ext-jars.

Geben Sie hier die Bildbeschreibung ein

  • Erweitern Sie das hinzugefügte Glas und wählen Sie Source attachmentund klicken Sie dann auf Edit.
  • Wählen Sie External locationund klicken Sie dann aufExternal Folder...
  • Wählen Sie den Quellordner für Support v4 aus [sdk-path]/extras/android/support/v4/src

Geben Sie hier die Bildbeschreibung ein

  • Wählen Javadoc locationSie auf Editund wählen Sie Javadoc URLdann klicken Sie auf Browse...und wählen Sie die javadoc Standort für die Unterstützung v4 , die befindet sich in[sdk-path]/docs/reference/

Geben Sie hier die Bildbeschreibung ein - Wählen Sie die Order and ExportRegisterkarte und überprüfen android-support-v4.jarSie die gerade hinzugefügte.

Ich schlage vor, Sie bereinigen auch das Projekt und öffnen die Eclipse erneut.

MDP
quelle