612 Stimmen

So starten Sie eine Anwendung mit den Android ADB-Tools

Wie sende ich einen Intent mit den ADB-Tools von Android?

35voto

Louis CAD Punkte 10055

Der bisher kürzeste Befehl ist der folgende:

adb shell monkey -p your.app.package.name 1

Dadurch wird die Standardaktivität für das Paket gestartet, das sich im Launcher befindet.

_Dank an Androiderson für den Hinweis_ .

27voto

김준호 Punkte 15507

Ich möchte noch eine weitere Sache erwähnen.

Wenn Sie eine Anwendung aus adb shell am , es fügt automatisch das Kennzeichen FLAG_ACTIVITY_NEW_TASK hinzu was zu einer Verhaltensänderung führt. Siehe die code .

Wenn Sie zum Beispiel eine Play Store-Aktivität von adb shell am drücken Sie die ' Zurück Die Schaltfläche "Zurück" (Hardware-Button) führt Sie nicht zu Ihrer App. Stattdessen würde sie Sie zu früheren Play Store-Aktivitäten führen, wenn es welche gab (wenn es keine Play Store-Aufgabe gab, dann würde sie Sie zu Ihrer App führen). FLAG_ACTIVITY_NEW_TASK Dokumentation sagt:

Wenn für die Aktivität, die Sie jetzt starten, bereits eine Aufgabe läuft, wird keine neue Aktivität gestartet; stattdessen wird die aktuelle Aufgabe einfach mit dem Zustand, in dem sie sich zuletzt befand, in den Vordergrund gebracht

Das hat mich einige Stunden gekostet, um herauszufinden, was falsch gelaufen ist.

Denken Sie also daran, dass adb shell am FLAG_ACTIVITY_NEW_TASK-Flag hinzufügen .

18voto

Anvesh Yalamarthy Punkte 1496

Wir können auch eine Anwendung starten, indem wir den Anwendungstyp kennen und ihn mit Daten füttern:

adb shell am start -d "file:///sdcard/sample.3gp" -t "video/3gp" -a android.intent.action.VIEW

Dieser Befehl zeigt die verfügbaren *Videoplayer zur Wiedergabe eines Beispiel.3gp archivo.

17voto

Shiv Buyya Punkte 3149

Sie können den Namen Ihres Anwendungspakets mit dem folgenden Befehl finden:

adb shell pm list packages

Der obige Befehl gibt eine Paketliste mit allen Anwendungen zurück. Beispiel:

org.linphone.debug
.
.
com.android.email

Jetzt möchte ich eine App starten linphone mit dem unten stehenden Befehl und das hat bei mir funktioniert:

adb shell am start org.linphone.debug

15voto

AbdullahDiaa Punkte 1306

Datei öffnen ~/.bash_profile und fügen Sie diese Bash-Funktionen am Ende der Datei hinzu

function androidinstall(){
   adb install -r ./bin/$1.apk
}

function androidrun(){
   ant clean debug
   adb shell am start -n $1/$1.$2
}

Öffnen Sie dann den Android-Projektordner:

androidinstall app-debug && androidrun com.example.app MainActivity

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X