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.

2 Antworten zu “Android Konsolen Basics – Paketverwaltung”

  1. roeluu sagt:

    Ich kann mein Desire S nicht rooten :@
    HTC hat das Bios updated und jetzt gehts nicht mehr :(

  2. sebix sagt:

    „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“
    Die Pipe ist |. Das Pipen ist ein Spezialfall der Ein-/Ausgabeumleitung/-redirection, zu der eben die Werkzeuge > und < gehören.

Schreibe einen Kommentar