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

Programm als user shell ausführen, ohne root möglich?

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von sebastian, 17.02.2010.

  1. sebastian, 17.02.2010 #1
    sebastian

    sebastian Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    271
    Erhaltene Danke:
    74
    Registriert seit:
    11.05.2009
    Hi,

    ich suche nach der (wahrscheinlich) unmöglichen Lösung für mein kleines-großes Problem. Und zwar geht es darum, dass ich ein (natives) Programm als user shell/adb starten lassen möchte. Prinzipiell wäre das kein Problem, geht ja einfach per Kommando: adb shell /data... Nun will ich das Programm aus einer Java-Anwendung heraus (immer noch als user shell/adb) starten und habe das setuid bit für die native Anwendung gesetzt (user und group sind natürlich ebenfalls 'shell'). Leider ist einzig /system nicht mit 'nosuid' gemounted, alle anderen (/data, /cache), dagegen schon -> mein setuid ist fürn ar***.

    Also meine Frage an alle kreativen: Hat jemand eine Idee wie ich mein natives Programm als User shell/adb ausführen kann, ohne es dafür manuell per Kabel + Konsole zu starten und ohne root zu benötigen?

    Bin für jeden Tipp oder jede Idee dankbar!
     
  2. MichaelS, 17.02.2010 #2
    MichaelS

    MichaelS Fortgeschrittenes Mitglied

    Beiträge:
    370
    Erhaltene Danke:
    51
    Registriert seit:
    14.08.2009
    soweit ich verstanden habe, willst du eine anwendung auf dem handy einfach starten? dafür brauchst du kein adb usw.... du startest einfach deine anwendung ;) so schwer ist das garnet hehe :D

    Process proc = Runtime.getRuntime().exec("/folder/folder/folder/application");
     
  3. sebastian, 17.02.2010 #3
    sebastian

    sebastian Threadstarter Fortgeschrittenes Mitglied

    Beiträge:
    271
    Erhaltene Danke:
    74
    Registriert seit:
    11.05.2009
    Hmm ja fast ;) Jetzt sollte 'application' nur noch als user shell laufen, und nicht automatisch als user app_xx, da dies ja ein Child-Prozess von mir ist und daher automatisch meine user id erbt.

    Das Handy per USB mit dem Rechner verbinden und einmal sozusagen das Programm "installieren" (setuid bit setzen und per chown user und gruppe shell zuweisen) wäre vertretbar. Aber das jedes mal tun, wenn 'application' gestartet werden soll, kann man niemandem zumuten...
     

Diese Seite empfehlen