Martin Lantzsch
Software Entwickler
6. Juni 2012

Android Konsolen Basics – Paketverwaltung

6. Juni 2012 - Geschrieben von Martin - 2 Kommentare

Etwas, was ich in letzter Zeit sehr an Android zu schätzen gelernt habe ist die Konsole. Man kann viele Teile des Systems per Shell steuern. Oft kann dies ganz nützlich sein, wie im heutigen Fall, die Paketverwaltung.

Ich gehe natürlich davon aus, das das Android Gerät gerootet ist, und das ihr wisst, wie man mit ConnectBot eine Verbindung zur Lokal Shell herstellt :-)

root Rechte erlangen
Systemweite Änderungen benötigen wie auf jedem anderen Linux basierten System root Rechte, diese erlangen wir indem wir ganz easy folgendes Kommando eintippen:

su

Das wir nun root Rechte haben, sehen wir am Promt:

app_153@android:/ $ su
app_153@android:/ #

pm – package manager
Uhlala, mit diesem Befehl sind wir Herr über alle Pakete.

pm

Eine Liste der Funktionen liefert uns dieser Befehl auch gleich.

Pakete auflisten
Nun können wir alle installierten Pakete auflisten lassen:

pm list packages

die Ausgabe sieht dann z.B. so aus:

package:com.android.mms
package:com.android.musicvis
package:com.android.noisefield
package:com.android.packageinstaller
package:com.android.phasebeam
package:com.android.phone

Natürlich nur eine Kurzfassung, denn der Spuckt natürlich hunderte Pakete auf einem gut benutzten Device aus ;-) Um Herr über die Liste zu werden, haben wir nach alter Linux Manier die Möglichkeit mit grep die Liste zu „filtern“:

pm list packages | grep phone

Das führt bei obiger Liste z.B. zu folgendem Resultat:

package:com.android.phone

Und natürlich die Möglichkeit eine Pipe zu verwenden, finde ich ganz praktisch um die Liste am PC zu betrachten oder jemandem zu schicken:

pm list packages > /sdcard/mypackagelist.txt

Pakete aktiveren/deaktiveren
Dazu haben wir folgende zwei Befehle:

pm enable com.android.phone

und das Pendant

pm disable com.android.phone

Wie man sieht, muss man den Paketname als Parameter übergeben – allerdings muss ich gestehen, hab ich noch nicht versucht das Phone Paket zu deaktivieren, wer weiß was das für Folgen nach sich zieht ;-)

Pakete aus einer .apk installieren
So kann man Apps aus einer .apk welche auf einer Speicherkarte liegt installieren:

pm install /sdcard/myapp.apk

Natürlich gibt es auch hier eine Reihe von Parameter, die man mit übergeben kann:

# App neuinstallieren, Nutzerdaten beibehalten
pm install -r /sdcard/myapp.apk
 
# App auf SD-Karte installieren
pm install -s /sdcard/myapp.apk
 
# App auf Telefonspeicher installieren
pm install -f /sdcard/myapp.apk

Es gibt noch ein paar andere aber nicht so ganz alltägliche Parameter, diese kann man sich auflisten lassen, wenn man „pm“ ausführt.

Pakete deinstallieren
Um das Paket und alle dazugehörigen Nutzerdaten zu entfernen:

pm uninstall com.dropbox.android

Will man die Nutzerdaten (data und cache Ordner) behalten, so kann man folgenden Parameter verwenden:

pm uninstall -k com.dropbox.android

App Rechte, Pfad zur .apk, …
Die Paketverwaltung hat noch viele weitere Funktionen, welche darauf warten von euch entdeckt und benutzt zu werden. Beispielsweise kann man sich die Rechte einer App auflisten lassen oder den Pfad, zur .apk einer App. Einfach mittels

pm

die Hilfe aufrufen.

5. Juni 2012

HTC Kontakt Widget verschwunden

5. Juni 2012 - Geschrieben von Martin - Keine Kommentare

Leider ist beim herumexperimentieren an meinem Ice Cream Sandwich mein HTC Kontakt Widget auch nach wiederherstellen von Sense 3.6 verschwunden geblieben. Das lag daran, dass das Paket weiterhin deaktiviert war. Da das Paket leider nicht unter „Einstellungen -> Apps -> Alle Apps“ zum wiederaktivieren auftauchte, musste ich mich auf Konsolen Ebene bewegen um es wieder aktivieren zu können.

Also erst einmal ConnectBot gestartet, eine Verbindung zu „local“ als „root“ hergestellt.

su
pm list packages | grep contact

nun sehen wir folgendes Paket:

com.htc.htccontactwidgets_3d_fusion

also aktiveren wir das mal:

pm enable com.htc.htccontactwidgets_3d_fusion

nun Home Button antippen und schon sind wir im Sense wo das Widget nun wieder auftaucht.

23. Mai 2012

Sencha Touch 2 + Phonegap Android 4 Fix

23. Mai 2012 - Geschrieben von Martin - Ein Kommentar

<script>
// Fix for problem with android 3.x and 4.x which is
// the browser has a problem with urls with ? and this
// bug has not been fixed by google. See:
// http://code.google.com/p/android/issues/detail?id=17535 or
// http://www.sencha.com/forum/showthread.php?162322-Sencha-Touch-2-PhoneGap-are-not-working-on-Android-4/page3&highlight=Loader
//
 
Ext.Loader.setConfig({ disableCaching: false });
Ext.Ajax.setDisableCaching(false); 
</script>


Diesen Code Schnipsel in der index.html vor die app.js setzen. Anschließend funktioniert die App auch auf Android 4, da sie nun ihre JavaScript Files nachladen kann nicht mit einem weißen Screen endet.

Übrigens kann man die Fehler, die in einem WebView Produziert werden mit der App „Log Collector“ auslesen.

14. Mai 2012

Facebook Android App, Lösung für nicht funktionierendes Multitasking

14. Mai 2012 - Geschrieben von Martin - Keine Kommentare

Ich glaube ich hab die Lösung für mein ICS und Facebook App Multitasking Problem gefunden. Und zwar ist die Home Screen Verknüpfung die FB nach der Installation der App automatisch anlegt wohl eine Art Link auf die Neuigkeiten der App. Ersetze ich diese Verknüpfung durch eine händisch erstellte komme ich beim antippen immer an die letzte Position in der App zurück. Grandios!

11. Mai 2012

Stock ICS auf Evo 3D flashen

11. Mai 2012 - Geschrieben von Martin - Keine Kommentare

Ich habe ja vor kurzem ein HTC Evo 3D erstanden. Vor einigen Tagen wurde nun das Offizielle ICS Rom geleaked (man geht deshalb davon aus, dass es offiziell ist, da sogar 3D funktioniert).

Mein Handy stammt aus der MediaMarkt Aktion und hat deshalb die HBoot Version 1.49.0018. Mit dieser kann man leider nicht flashen, deshalb habe ich nach folgender Anleitung auf 1.49.0007 downgegraded: HBoot Downgrade auf 1.49.0007

Und nach dieser Anleitung habe ich das Handy gerootet und den Bootloader ungelockt. Natürlich ohne Garantieverlust, welcher entstehen würde, wenn man das HTCdev Tool verwendet: Root und S-OFF

Anschließend habe ich dieses ROM hier geflasht: Virtuous Shooter v.3.0.2

Es läuft auch ganz gut, allerdings muss das Call Drop Patch aus dem Thread noch geflasht werden, ansonsten bricht jeder Anruf nach 2 Sekunden ab, wie ich eben erfahren musste.
Das einzige was mir nun noch nicht ganz passt ist die Kamera. Wenn man zoomt und auslöst sind lauter Pixel Fragmente im Bild. Das ist aber wirklich das einzige was mir aufgefallen ist.

Zur Akkulaufzeit kann ich nichts sagen. Ich habe aber das Gefühl, dass das Handy mehr Strom braucht, wenn man es benutzt. Ruht es, so braucht es weniger Saft als vorher. Subjektiv habe ich auch die Meinung, dass der Empfang schlechter ist und Multitasking öfter mal nicht richtig will (wenn man per Home Taste einen App minimiert und wieder aufruft, so startet sie oft von neuem und vergisst was man bereits gemacht hat). Mal beobachten.

26. April 2012

Tschüss Privat PC, Hallo Handy

26. April 2012 - Geschrieben von Martin - 5 Kommentare

Ich hätte nicht gedacht das ein Android Handy meinen Laptop zuhause vollständig verdrängen könnte. Seit einer Woche war ich nicht mehr Privat an einem PC gesessen.

Egal ob im Internet surfen, via Skype chatten/telefonieren, Wikipedia Artikel studieren oder meine Notizen in OneNote pflegen. Ich mache alles nur noch übers Handy. Selbst wie jetzt, bloggen per Android WordPress App.

Ich muss aber auch sagen, dass das nur so richtig Möglich ist, weil ich mir nun ein richtiges Performantes Handy mit Dual Core CPU und 1GB Ram gegönnt habe. Vorher mit 800mhz Single Core und 256mb Ram war das eine Qual,da man kein echtes Multitasking hatte. Die Apps konntem ihren State beim minimieren wegen zu wenig Speicher sowohl Ram als auch Rom nicht speichern umd beim erneuten öffnen – weil man z.B. auf eine SMS antwortete – war der ganze „Fortschritt“ weg.

Das ist jetzt besser. Ich kann z.B. die Wikipedia App neben der OneNote App laufen lassen und produktiv einen Vortrag vorbereiten.

Und wie man an diesen Post sicher auch sieht, ist mit einem großen guten Display das schnelle fehlerfreie Tippen kein Problem. Im Übrigen ist ein hoch Aufgelöstes Display Gold wert, so bequem wenn man viel sieht und das Augenkrebsrisiko wird sichtlich minimiert…

Ich glaube ihr werdet bald ein paar Thinkpads zum Kauf angeboten bekommen ;-)

21. April 2012

Meine Vorschläge für HTC Sense

21. April 2012 - Geschrieben von Martin - 5 Kommentare

Mein neues Evo 3D hat ja nun HTC Sense als Oberfläche, soweit bin ich auch ganz zufrieden. Ein paar Dinge allerdings könnte man noch ändern.

Simplere, cleanere Icons. Die Standardicons sind so detailiert und verspielt, das gefält mir persönlich gar nicht. Vor allem das Hintergrundbild wenn ein Icon gewählt ist. Ein dezenter farbiger Hintergrund und ein einfarbiges Kontrast Icon wären toll.

Das Dock sollte man anpassen können. Der „Anpassen“ Button z.B. sollte durch einen SMS Button ersetzt werden können, da man den Button so gut wie nie benötigt.

Die Größe des Rasters sollte angepasst werfen können. Ansonsten wirkt es so leer, bei 12 verstreuten mini Icons mit massig Abstand dazwischen.

Wenn man auf den „Home“ Button drückt, sollte man zum zuletzt verwendetem Screen kommen, nicht zum mittleren.

Mal sehen ob ich eine gute Launcher Alternative oder eine Modifikation finde. Stay tuned.