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 .
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 .
Antworten:
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.
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 :)
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.
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:
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.
Ö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
Speicher die Datei.
Schließen Sie Ihr Android-Projekt und öffnen Sie es erneut.
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.
.jarDateien haben: android-support-v4.jarund android-support-v7-appcompat.jarfür die Sie die genannten .propertiesDateien erstellen können sollten .
srcZeile verwenden.
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:
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).android-sdk/extras/android/support/v4/srcViel 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.
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.
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:
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
Stellen Sie sicher, dass Sie sich im Paket-Explorer und nicht im Projektnavigator befinden .
Wenn Sie Ihre android-support-v4.jar im libs-Ordner unter Ihrem Projekt abgelegt haben. groß.
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.)
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.
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
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)
Nachdem Sie das SDK aktualisiert und die darin enthaltenen Dokumentationen heruntergeladen haben:
ext-jars.Bewegen Sie android-support-v4.jarauf den ext-jarsOrdner.
Add JARs...erweitern Sie das Projekt und wählen Sie die JAR-Datei aus, die Sie bereits in den Ordner verschoben haben ext-jars.Source attachmentund klicken Sie dann auf Edit.External locationund klicken Sie dann aufExternal Folder... [sdk-path]/extras/android/support/v4/srcJavadoc 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/
- 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.