1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

User-ID einer App ermitteln

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von franc, 28.01.2012.

  1. franc, 28.01.2012 #1
    franc

    franc Threadstarter Android-Lexikon

    Beiträge:
    1,225
    Erhaltene Danke:
    101
    Registriert seit:
    29.09.2011
    Phone:
    Samsung Galaxy S2
    Hallo

    wie kann ich die User ID einer App ermitteln?
    Im Terminal Emulator mit dem Befehl top sehe ich ja u.a. in den Spalten USER z.B. "app_123" und in COMMAND vermutlich den aufrufenden Befehl.

    Welche App ist aber dann genau die app_xyz, gibt es da einen Befehl, mit der ich das auslesen kann?

    So z.B.:

    Code:
    $ user_id app_123
    com_lbe.security.lite
    $ 
    oder ähnlich, gibt es da was?

    EDIT: Ich habe jetzt umständlich über eine Suche in den Titanium-Backups (nach app_gui_label=die_gesuchte_App) den App-Namen in /system/app/ gefunden (z.B. com.sst.android... für den Sports-Tracker, was im Dateinamen der Titaniumsicherung steht).
    Dann bin ich mit dem Root-Explorer in das Verzeichnis /system/app/gesuchtes_app_verzeichnis gegangen und habe in die Eigenschaften einer DB darin geschnüffelt, dort steht dann die app_nummer, z.B. bei mir für den Sports-Tracker die app_266.
    Mann ist das mühsam, ich bin mir sicher es gibt einfach einen Befehl auf der Konsole.


    franc

    PS.: Übrigens findet die Forensuche nach "user-id" (in Anführungszeichen) nicht nur Themen die ganz genau user-id enthalten, sondern auch welche wo user id vorkommt. Der Bindestrich wird somit mindestens mit einem Leerzeichen gleichgesetzt.
    Warum findet die Suche danach übrigens diesen Thread:
    http://www.android-hilfe.de/zte-bla...co-base-lutea-forum/141776-speicher-voll.html
    der den Begriff "user" gar nicht enthält?
    Es kann sein, dass auch noch weitere "Treffer" der 38 Suchergebnisse nicht schlüssig sind.
     
    Zuletzt bearbeitet: 25.02.2012
  2. Fr4gg0r, 28.01.2012 #2
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Beiträge:
    2,506
    Erhaltene Danke:
    447
    Registriert seit:
    21.12.2009
    hö, meinst du die linux uid?
     
  3. franc, 28.01.2012 #3
    franc

    franc Threadstarter Android-Lexikon

    Beiträge:
    1,225
    Erhaltene Danke:
    101
    Registriert seit:
    29.09.2011
    Phone:
    Samsung Galaxy S2
    Ja, die UID
     
  4. Fr4gg0r, 28.01.2012 #4
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Beiträge:
    2,506
    Erhaltene Danke:
    447
    Registriert seit:
    21.12.2009
    ka ob das mit der File API von Java geht, ansonsten über c apis, oder hässlich, aber auch funktionell, indem du "ls -l pathToPackage" ausführst und die Ausgabe parst.
     
  5. vossJ, 25.02.2012 #5
    vossJ

    vossJ Neuer Benutzer

    Beiträge:
    3
    Erhaltene Danke:
    0
    Registriert seit:
    25.02.2012
    Hallo,

    die UID einer App kann man in der Shell auf verschiedene Arten herausbekommen:

    Nehmen wir folgende (ausschnittsweise) ps - Ausgabe als gegeben:
    Dann geht folgendes:

    oder:

    Hoffe das hilft weiter ..
     
  6. franc, 25.02.2012 #6
    franc

    franc Threadstarter Android-Lexikon

    Beiträge:
    1,225
    Erhaltene Danke:
    101
    Registriert seit:
    29.09.2011
    Phone:
    Samsung Galaxy S2
    Meine Frage war falsch gestellt.
    Es sollte heißen:

    Name einer App über die UID ermitteln

    Weil ich ja nicht die UID wissen will, sondern den Namen der App.
    Habe ich den Usernamen (also z.B. app_123) dann habe ich ja sowieso schon die UID, weil diese immer 10000 plus Zahlenteil der App-ID (Spalte USER in top) ist.

    Aber mit ps oder top kriege ich das ja nur raus, wenn die App läuft, nicht aber wenn sie gar nicht läuft.

    Unter Linux gibt es ja die Datei

    /etc/passwd

    aber das gibt es bei Android ja nicht.
     
  7. vossJ, 25.02.2012 #7
    vossJ

    vossJ Neuer Benutzer

    Beiträge:
    3
    Erhaltene Danke:
    0
    Registriert seit:
    25.02.2012
    Was hast Du denn als Ausgangspunkt? Wenn die App im Moment nicht läuft, also in der Ausgabe von ps nicht auftaucht, wonach suchst Du dann?

    Das einzige was Du dann machen kannst ist:

    $ cat /data/system/packages.xml

    Da werden zumindest mal alle Systemapps gelistet ..
     
  8. franc, 25.02.2012 #8
    franc

    franc Threadstarter Android-Lexikon

    Beiträge:
    1,225
    Erhaltene Danke:
    101
    Registriert seit:
    29.09.2011
    Phone:
    Samsung Galaxy S2
    Gute Frage. Nur den User eigentlich. Aber woher ich den habe, weiß ich schon gar nicht mehr.
     
  9. vossJ, 25.02.2012 #9
    vossJ

    vossJ Neuer Benutzer

    Beiträge:
    3
    Erhaltene Danke:
    0
    Registriert seit:
    25.02.2012
    Was ist denn für Dich "der User" .... definiere das doch mal.
     
  10. franc, 25.02.2012 #10
    franc

    franc Threadstarter Android-Lexikon

    Beiträge:
    1,225
    Erhaltene Danke:
    101
    Registriert seit:
    29.09.2011
    Phone:
    Samsung Galaxy S2
    Na, z.B. app_123 das wird dann in top in der Spalte USER angezeigt.
     
  11. franc, 15.06.2012 #11
    franc

    franc Threadstarter Android-Lexikon

    Beiträge:
    1,225
    Erhaltene Danke:
    101
    Registriert seit:
    29.09.2011
    Phone:
    Samsung Galaxy S2
    Also das beste ist noch der Befehl ps, damit kann ich wenigstens eine laufende App zuordnen.
    Um allgemein eine App einem Benutzer zuzuordnen, ohne dass diese App gestartet wurde habe ich noch keinen Befehl gefunden.
    Im Verzeichnis
    /data/app/
    in dem die selbst installieren, nicht System Apps wohl liegen, stimmen jedenfalls weder Besitzer noch Gruppe mit dem Benutzernamen, unter dem die App jeweils ausgeführt wird, überein.
    Z.b.:
    ls -al /data/app/com.amazing_create.android.andclip-1.apk
    ergibt:
    system:system
    Ist aber bei mir app_230
    Wie ich mit einem
    # ps | grep -e 'amazing'
    Erfahre.
    ANdClip läuft aber gerade.
     
    Zuletzt bearbeitet: 15.06.2012

Diese Seite empfehlen