Android als mobiler Quelltext-Cache

vorhergehende Artikel in: Java Android
26.07.2015

Ich wollte sehen, ob und wie ich ein Android-Gerät als mobilen Quelltext-Cache einsetzen könnte: immer das Repository dabei haben und nachschlagen können.

HTML Version mit Querverweisen

Meine erste Idee war, die Java-Quelltexte mittels eines geeigneten Werkzeugs nach HTML zu konvertieren und idealerweise währenddessen Querverweise zu erzeugen, so daß ich zum Beispiel von einer Quelltext-Stelle, die eine Klasse benutzt, zu ihrer Definition springen kann.

Dafür fand ich nur ein Wekrzeug und das hatte so viele Fehler und war schon so lange nicht mehr gepflegt worden, daß ich hier mit Absicht Name und Bezugsquelle verschweige.

Quelltext

Anschließend überlegte ich: Wenn ich einen vernünftigen Betrachter für Java-Quelltexte in ihrer Rohform finde, könnte ich einfach das Repository auf meinem Androiden auschecken und dann die Quelltexte so immer dabei haben.

AIDE Ich testete nicht alle Apps, die von sich behaupten, mit Java umgehen zu können, denn ich blieb bei AIDE - Android IDE - Java, C++ hängen. Diese IDE hat nicht nur eine hervorragende Java-Viewer-Komponente (Editieren habe ich noch nicht probiert), sondern sie kann auch noch mit anderen Dateiformaten hervorragend umgehen - zum Beispiel mit xml, was mir nicht nur wegen meiner Affinität zu Apache ANT sehr entgegenkommt...

Subversion
Dann ging ich auf die Suche nach einem Subversion-Client, der mir dabei helfen würde, meine Quelltexte auf den Androiden zu ziehen. Dabei musste ich zu meinem Erstaunen feststellen, daß es davon nicht viele gibt (mir sind als Suchbegriffe für den Play Store nur "svn" und "subversion" eingefallen) und daß der einzige, der in Frage kam nicht korrekt funktionierte: ich habe dreimal einen Checkout versucht und dreimal unterschiedlich viele Quelltexte als Resultat gesehen. Nicht einmal ist es der App gelungen, mein gesamtes Repository ordentlich auf den Androiden auszuchecken.
Git
Ich habe es bisher vermieden, Git zu benutzen - irgendwie bin ich mit Subversion sehr zufrieden; Es gab damals Gründe, von CVS auf Subversion umzusteigen - Subversion trackt auch Dateien und nicht nur die Inhalte, daher ist es möglich, Aktionen wie Kopieren und Umbewegen von Dateien zu versionieren. Zum anderen war sein Umgang mit Binärdateien sehr viel problemloser als der von CVS.

Aber bei dem vorliegenden Vorhaben kam ich nicht darum herum: Ich checkte mein Subversion-Repository per git_svn lokal auf meinem Entwicklungsrechner aus und nutzte anschließend die in AIDE - Android IDE - Java, C++ integrierte Git-Unterstützung, per git+ssh, um es auf den Androiden zu ziehen. So habe ich jetzt auf meinem Androiden immer den aktuellen Stand der von mir entwickelten Software dabei...

Geholfen haben mir dabei verschiedene nützliche Artikel im Netz:

Aktualisierung vom 26. Juli 2015

Da sich die beschriebenen Methoden im täglichen Einsatz nicht bewährt haben, war ich verzweifelt genug, rsync oder einen SSH-Daemon auf meinem Android-Gerät zu versuchen... Das brachte erwartungsgemäß keine Punkte. Kurz vor dem Aufgeben versuchte ich anschließend einen kompletten svn export als Zip auf den Androiden zu kopieren.

DateiManager Die von Samsung installierte Dateimanager-App kann natürlich nicht mit Zips umgehen. Eine kurze Suche im Playstore förderte dann DateiManager zutage. Damit lassen sich zips mit über 10000 Dateien und nahe bei 200 MB Größe auf meinem Note 2 8.0 in akzeptabler Geschwindigkeit entpacken.

Als ich schon dachte, dass ich jetzt einen gangbaren Weg gefunden habe, verklickte ich mich in AIDE - und siehe da: diese App wird besser und besser: Sie kann zip-Dateien öffnen. Will man nur einen mobilen Quelltext Cache zum Zwecke der Referenz mitführen, reicht das Kopieren des Zip-Archivs auf das Gerät! Allerdings kann man direkt aus dem Archiv scheinbar nur java-Dateien öffnen: Properties und XML-Dateien sieht man nur im entpackten Verzeichnisbaum...

Alle Artikel rss Wochenübersicht Monatsübersicht Github Repositories Gitlab Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Certstream, InfluxDB, Grafana und Netflix

    16.04.2019

    Nachdem ich vor kurzem über mein erstes Spielen mit dem certstream berichtete, habe ich weitere Experimente gemacht und die Daten zur besseren Auswertung in eine InfluxDB gepackt, um sie mit Grafana untersuchen zu können.

    Weiterlesen...

Neueste Artikel

  • Die sQLshell ist nun cloudnative!

    Die sQLshell hat eine weitere Integration erfahren - obwohl ich eigentlich selber nicht viel dazu tun musste: Es existiert ein Projekt/Produkt namens steampipe, dessen Slogan ist select * from cloud; - Im Prinzip eine Wrapperschicht um diverse (laut Eigenwerbung mehr als 140) (cloud) data sources.

    Weiterlesen...
  • LinkCollections 2024 III

    Nach der letzten losen Zusammenstellung (für mich) interessanter Links aus den Tiefen des Internet von 2024 folgt hier gleich die nächste:

    Weiterlesen...
  • Funktionen mit mehreren Rückgabewerten in Java

    Da ich seit nunmehr einem Jahr bei meinem neeun Arbeitgeber beschäftigt und damit seit ungefähr derselben Zeit für Geld mit Python arbeite, haben sich gewisse Antipathien gegenüber Python vertieft (ich kann mit typlosen Sprachen einfach nicht umgehen) - aber auch einige meiner Gründe, Python zu lieben sind ebenso stärker geworden. Einer davon ist der Fakt, dass eine Methode in Python mehr als einen Wert zurückgeben kann.

    Weiterlesen...

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muß damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.