2016-07-09 4 views
20

Wenn ich auf eine Google Play Services-API oder die Firebase-API in meinem Android-Projekt in Android Studio klicke, führt mich die IDE zu einer dekompilierten Version der Klasse, in der die Variablennamen verschleiert sind und keine Dokumente vorhanden sind auf irgendeiner der Methoden. Irgendwelche Ideen, wie man die Dokumente direkt in der IDE sieht?Wie werden API-Javadocs für Google Play-Dienst-APIs und Firebase-APIs in Android Studio anstelle von dekompilierten Klassen ohne Dokumente angezeigt?

Ich vermute, der Grund ist, dass spielen Dienste und Firebase-Dienste sind nicht Open Source und ich bin in Ordnung mit nicht die Impls sehen, ich verstehe, dass sie das schützen wollen. Aber ich würde wirklich davon profitieren, die Dokumente direkt in der IDE zu sehen und nicht in einem Browser. Danke für Ihre Hilfe.

+0

Duplizieren: http://Stackoverflow.com/q/38141103/435605 –

+3

Ich denke, diese Antwort ist eine höhere Qualität als die in der verknüpften Ausgabe – Creos

Antwort

33

Javadocs sollte wirklich mit den Client-Bibliotheken verteilt werden. Wir haben ein offenes Problem bei Google, aber ich habe keine Zeit, wann eine geeignete Lösung verfügbar sein wird. Ich kann Ihnen jedoch eine Problemumgehung geben, die Sie auf Ihr Projekt anwenden können. Es ist keine großartige Lösung, aber es ist etwas.

Auf meinem OSX Maschine wird das Android SDK hier installiert:

/Users/[myusername]/Library/Android/sdk 

Und die lokale Kopie für Play-Dienste und Firebase javadocs hier sind (Ihre Bedingungen):

/Users/[myusername]/Library/Android/sdk/extras/google/google_play_services/docs/reference/ 

Sie können Fügen Sie diesen Pfad zu Ihren Firebase-Clientbibliotheken in Android Studio mit dieser Prozedur tatsächlich hinzu:

  • Firebase suchen/Play cl Bibliotheken in der Projektansicht unter "Externe Bibliotheken".
  • Klicken Sie mit der rechten Maustaste auf die Datei, die Sie am meisten interessiert, um Javadoc zu sehen. Für Firebase Realtime Database können Sie beispielsweise "Firebase-Datenbank-9.2.0" verwenden.
  • Klicken Sie im Kontextmenü unten auf Bibliothekseigenschaften.
  • Im Fenster Bibliothekseigenschaften gibt es eine Schaltfläche mit einem + -Zeichen. Klicke darauf. Damit können Sie einen Javadoc-Pfad zu Klassen in dieser Bibliothek hinzufügen.
  • Navigieren/Fügen Sie Ihren Javadoc-Pfad von oben in den Dialog ein.
  • Im nächsten Dialog, sagen Sie es "JavaDocs".
  • Jetzt, wenn Sie Javadoc für Klassen in dieser Bibliothek aufrufen, werden Sie es sehen. Sie müssen dies jedoch für jede Bibliothek tun, für die Sie Javadoc verwenden möchten.

    Wenn Sie aus irgendeinem Grund keine lokalen Javadocs installiert haben, können Sie die Remote-URL für das Javadoc anhängen. Verwenden Sie dazu die Plus-Schaltfläche mit der kleinen Erde darunter und fügen Sie die Javadoc-URL ein. Für Firebase, das ist https://firebase.google.com/docs/reference/android und für Play Services, das ist https://developers.google.com/android/reference/

    Es ist nicht toll, all diese manuelle Arbeit zu tun, aber zumindest bringt es Sie Javadoc in Ihrer IDE.

    Wenn Sie ein Skript schreiben möchten, um dies für alles, was Sie verwenden, anzuhängen, wissen Sie, dass diese Prozedur im Wesentlichen nur Dateien unter .idea/libraries ändert. Sie können das javadoc-XML-Element, das bei Änderungen in der IDE geändert wird, ziemlich leicht beobachten, und Sie können Änderungen dort selbst scripten/bearbeiten, wenn Sie möchten.

    +0

    Vielen Dank Doug! Ist die Google-Aufgabe öffentlich auf einem Problemverfolgungssystem sichtbar oder ist alles intern? Ich würde gerne nach Entwicklungen in diesem Bereich Ausschau halten, auch wenn es momentan keinen festen Liefertermin gibt. – Creos

    +2

    Leider gibt es keinen Tracker für Play Services oder Firebase-Bugs wie diesen (ich wünschte, es gäbe!). Es ist wirklich sehr hilfreich, wenn Sie dies unter https://firebase.google.com/support/contact/bugs-features/ als Bug abmelden - das sollte auch intern aufblühen und Sie können es möglicherweise aus der Perspektive von Ihr eigener Fehlerbericht. –

    +0

    getan, aber ich habe gerade festgestellt, dass ich es als 'Feature-Anfrage' statt als 'Fehler' protokolliert ... wahrscheinlich wird nicht mit Priorisierung helfen, aber kann es jetzt nicht ändern ... – Creos

    0

    In meinem Fall hat das Hinzufügen dieser https://firebase.google.com/docs/reference/android/packages funktioniert.