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 Codeberg Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Multi-User-WebDAV, Docker, GitHub

    17.11.2019

    Nachdem ich mich in letzter Zeit verstärkt mit Docker und dem zugehörigen Ökosystem beschäftige, habe ich begonnen, verschiedenste Dienste in Containern zu testen um zu sehen, ob in manchen Fällen LXC oder KVM nicht doch die bessere Wahl wäre...

    Weiterlesen...

Neueste Artikel

  • Migration der Webseite und aller OpenSource Projekte

    In eigener Sache...

    Weiterlesen...
  • AutoHideToolbar für Java Swing

    Ich habe eine neue Java Swing Komponente erstellt: Es handelt sich um einen Wrapper für von JToolBar abgeleitete Klassen, die die Werkzeugleiste minimieren und sie nur dann einblenden, wenn der Mauszeiger über ihnen schwebt.

    Weiterlesen...
  • Integration von EBMap4D in die sQLshell

    Ich habe bereits in einem früheren Artikel über meine ersten Erfolge berichtet, der sQLshell auf Basis des bestehenden Codes aus dem Projekt EBMap4D eine bessere Integration für Geo-Daten zu spendieren und entsprechende Abfragen, bzw. deren Ergebnisse auf einer Kartenansicht zu visualisieren.

    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, muss 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 Codeberg-Repositories findet man hier.