Jawaban:
adb shell
am start -n com.package.name/com.package.name.ActivityName
Atau Anda dapat menggunakan ini secara langsung:
adb shell am start -n com.package.name/com.package.name.ActivityName
Anda juga dapat menentukan tindakan yang akan difilter oleh filter niat Anda:
am start -a com.example.ACTION_NAME -n com.package.name/com.package.name.ActivityName
function androidrun(){ ant clean debug adb shell am start -n $1/$1.MainActivity }
dan penggunaannyaandroidrun com.example.test
adb shell am
akan memberi Anda daftar opsi lain untuk diteruskan ke am
perintah. Anda dapat mengetahui lebih lanjut di developer.android.com/tools/help/adb.html#am
adb logcat | grep --line-buffered ActivityManager | grep --line-buffered
untuk mendaftar semua aplikasi yang ditampilkan.
Dimungkinkan untuk menjalankan aplikasi yang menentukan nama paket hanya menggunakan alat monyet dengan mengikuti pola ini:
adb shell monkey -p your.app.package.name -c android.intent.category.LAUNCHER 1
Perintah digunakan untuk menjalankan aplikasi menggunakan alat monyet yang menghasilkan input acak untuk aplikasi. Bagian terakhir dari perintah adalah integer yang menentukan jumlah input acak yang dihasilkan untuk aplikasi. Dalam hal ini angkanya adalah 1, yang sebenarnya digunakan untuk meluncurkan aplikasi (klik ikon).
adb shell monkey -p your.app.package.name 1
adb shell am startservice com.some.package.name/.YourServiceSubClassName
lihat di sini: stackoverflow.com/a/18703083/211292
Atau, Anda bisa menggunakan ini:
adb shell am start -n com.package.name/.ActivityName
monkey -p com.package.name 1
viaadb shell
pengguna linux / mac juga dapat membuat skrip untuk menjalankan apk dengan sesuatu seperti berikut:
buat file bernama "adb-run.sh" dengan 3 baris ini:
pkg=$(aapt dump badging $1|awk -F" " '/package/ {print $2}'|awk -F"'" '/name=/ {print $2}')
act=$(aapt dump badging $1|awk -F" " '/launchable-activity/ {print $2}'|awk -F"'" '/name=/ {print $2}')
adb shell am start -n $pkg/$act
lalu "chmod + x adb-run.sh" untuk membuatnya dieksekusi.
sekarang Anda cukup:
adb-run.sh myapp.apk
Manfaatnya di sini adalah Anda tidak perlu tahu nama paket atau nama aktivitas yang dapat diluncurkan. Demikian pula, Anda dapat membuat "adb-uninstall.sh myapp.apk"
Catatan: Ini mengharuskan Anda memiliki aapt di jalur Anda. Anda dapat menemukannya di folder build tools baru di SDK.
Juga, saya ingin menyebutkan satu hal lagi.
Saat Anda memulai aplikasi adb shell am
, itu secara otomatis menambahkan bendera FLAG_ACTIVITY_NEW_TASK yang membuat perubahan perilaku. Lihat kodenya .
Misalnya, jika Anda memulai aktivitas Play Store dari adb shell am
, menekan tombol ' Kembali ' (tombol kembali perangkat keras) tidak akan membawa Anda aplikasi Anda, sebaliknya itu akan membawa Anda aktivitas Play Store sebelumnya jika ada beberapa (Jika tidak ada tugas Play Store , maka itu akan membawa Anda aplikasi Anda). Dokumentasi FLAG_ACTIVITY_NEW_TASK mengatakan:
jika tugas sudah berjalan untuk aktivitas yang Anda mulai sekarang, maka aktivitas baru tidak akan dimulai; sebagai gantinya, tugas saat ini hanya akan dibawa ke depan layar dengan status terakhir
Ini menyebabkan saya menghabiskan beberapa jam untuk mencari tahu apa yang salah.
Jadi, perlu diingat bahwa adb shell am
menambahkan bendera FLAG_ACTIVITY_NEW_TASK .
Kita juga dapat memulai suatu aplikasi dengan mengetahui tipe aplikasi dan mengisinya dengan data:
adb shell am start -d "file:///sdcard/sample.3gp" -t "video/3gp" -a android.intent.action.VIEW
Perintah ini menampilkan Pemutar Video yang tersedia untuk memutar file sample.3gp
Langkah 1: Pertama-tama dapatkan semua nama paket aplikasi yang diinstal di Perangkat Anda, dengan menggunakan:
adb shell pm list packages
Langkah 2: Anda akan mendapatkan semua nama paket, salin yang ingin Anda mulai gunakan adb.
Langkah 3: Tambahkan nama paket yang Anda inginkan dalam perintah di bawah ini.
adb shell monkey -p 'your package name' -v 500
Sebagai Contoh:
adb shell monkey -p com.estrongs.android.pop -v 500
untuk memulai Es explorer.
buka ~ / .bash_profile dan tambahkan fungsi bash ini di akhir file
function androidinstall(){
adb install -r ./bin/$1.apk
}
function androidrun(){
ant clean debug
adb shell am start -n $1/$1.$2
}
kemudian buka folder proyek Android
androidinstall app-debug && androidrun com.example.app MainActivity
app-debug
?
monkey --pct-syskeys 0
untuk papan pengembangan
Tanpa argumen ini, aplikasi tidak akan terbuka di papan pengembangan tanpa kunci / tampilan:
adb shell monkey --pct-syskeys 0 -p com.cirosantilli.android_cheat.textviewbold 1
dan gagal dengan kesalahan:
SYS_KEYS has no physical keys but with factor 2.0%
Diuji pada HiKey960, Android O AOSP.
Belajar dari: https://github.com/ARM-software/lisa/pull/408
Juga ditanyakan di: uji monyet: Jika sistem Android tidak memiliki kunci fisik, parameter apa yang perlu dimasukkan dalam perintah
Coba ini, untuk membuka aplikasi foto android & dengan file gambar tertentu untuk dibuka sebagai parameter.
adb shell am start -n com.google.android.apps.photos/.home.HomeActivity -d file:///mnt/user/0/primary/Pictures/Screenshots/Screenshot.png
Ini akan bekerja pada android terbaru, tidak akan muncul pop-up untuk memilih aplikasi yang akan dibuka karena Anda memberikan aplikasi spesifik yang ingin Anda buka gambarnya dengan