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.

29. Mai 2012

Geek Test

29. Mai 2012 - Geschrieben von Martin - 6 Kommentare


Verdammt, keine 35% Geekness. Wie viel schafft ihr? http://www.innergeek.us/deutsch.html

Vorsicht, während dem Test muss man sich teilweise so wegschmeißen – wie die Ankreuzelmöglichkeiten halt alle stimmen :D

23. Mai 2012

GitHub on Windows

23. Mai 2012 - Geschrieben von Martin - 3 Kommentare


So bequem hat noch keiner ein Repository unter Windows angelegt. Richtig cool das neue GitHub for Windows. So was hat die Welt gebraucht, denn bisher war Git unter Windows nur Gepfusche.

In den kommenden Tagen werde ich das mal in der Praxis testen, wenn ich meine ganzen C# Projekte hochlade.

16. Mai 2012

Ansprechende Werbung

16. Mai 2012 - Geschrieben von Martin - Ein Kommentar


Dieser Fehler zieht bestimmt mehr Blicke auf sich als die normalen langweilig gewordenen Werbe-Banner.