Відповіді:
adb shell
am start -n com.package.name/com.package.name.ActivityName
Або ви можете використовувати це безпосередньо:
adb shell am start -n com.package.name/com.package.name.ActivityName
Ви також можете вказати дії, які потрібно фільтрувати, за допомогою ваших фільтрів намірів:
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 }
і її використанняandroidrun com.example.test
adb shell am
дасть вам список інших варіантів для переходу до am
команди. Детальніше ви можете дізнатися на сайті developer.android.com/tools/help/adb.html#am
adb logcat | grep --line-buffered ActivityManager | grep --line-buffered
щоб перелічити всі програми, які відображалися.
Можна запустити додаток із зазначенням імені пакета лише за допомогою інструменту мавпи , дотримуючись цього шаблону:
adb shell monkey -p your.app.package.name -c android.intent.category.LAUNCHER 1
Команда використовується для запуску програми за допомогою інструменту мавпи, який генерує випадковий вхід для програми. Остання частина команди - ціле число, яке визначає кількість генерованого випадкового введення для програми. У цьому випадку число дорівнює 1, яке фактично використовується для запуску програми (клацання піктограми).
adb shell monkey -p your.app.package.name 1
adb shell am startservice com.some.package.name/.YourServiceSubClassName
дивіться тут: stackoverflow.com/a/18703083/211292
Або ви можете скористатися цим:
adb shell am start -n com.package.name/.ActivityName
monkey -p com.package.name 1
viaadb shell
Користувачі linux / mac також можуть створити сценарій для запуску apk із чимось подібним:
створіть файл під назвою "adb-run.sh" з цими 3 рядками:
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
потім "chmod + x adb-run.sh", щоб зробити його виконуваним.
тепер ви можете просто:
adb-run.sh myapp.apk
Перевага тут полягає в тому, що вам не потрібно знати назву пакета або назву запущеної активності. Так само ви можете створити "adb-uninstall.sh myapp.apk"
Примітка. Це вимагає, щоб ви пройшли шлях. Ви можете знайти його в новій папці інструментів побудови в SDK.
Також хочу згадати ще одне.
Коли ви запускаєте програму adb shell am
, вона автоматично додає прапор FLAG_ACTIVITY_NEW_TASK який змінює поведінку. Дивіться код .
Наприклад, якщо ви запустили діяльність в Play Store з adb shell am
, натискання кнопки " Назад " (кнопка повернення апарату) не спричинить вам ваше додаток, натомість це займе попередню активність Play Store, якщо вона була такою (Якщо не було завдання Play Play Store) , тоді це займе у вас додаток). Документація FLAG_ACTIVITY_NEW_TASK говорить:
якщо завдання вже виконується для тієї діяльності, яку ви зараз починаєте, нова активність не буде запущена; натомість поточне завдання буде просто виведене на передню частину екрана із станом, в якому він був останній
Це змусило мене витратити кілька годин, щоб з’ясувати, що пішло не так.
Тож майте на увазі, що adb shell am
додайте прапор FLAG_ACTIVITY_NEW_TASK .
Ми також можемо запустити програму, дізнавшись тип програми та подаючи її даними:
adb shell am start -d "file:///sdcard/sample.3gp" -t "video/3gp" -a android.intent.action.VIEW
Ця команда відображає доступні відеоплеєри для відтворення файлу sample.3gp
Крок 1. Спершу отримайте все ім'я пакета програм, встановлених на пристрої, використовуючи:
adb shell pm list packages
Крок 2: Ви отримаєте всі назви пакету, скопіюйте той, який ви хочете почати використовувати adb.
Крок 3: Додайте бажане ім'я пакета в команду нижче.
adb shell monkey -p 'your package name' -v 500
Наприклад:
adb shell monkey -p com.estrongs.android.pop -v 500
для запуску програми Explorer.
відкрийте ~ / .bash_profile і додайте ці функції bash до кінця файлу
function androidinstall(){
adb install -r ./bin/$1.apk
}
function androidrun(){
ant clean debug
adb shell am start -n $1/$1.$2
}
потім відкрийте папку проектів Android
androidinstall app-debug && androidrun com.example.app MainActivity
app-debug
робить?
monkey --pct-syskeys 0
для дощок розвитку
Без цього аргументу додаток не відкриється на платі розробки без клавіш / дисплея:
adb shell monkey --pct-syskeys 0 -p com.cirosantilli.android_cheat.textviewbold 1
і виходить з помилки:
SYS_KEYS has no physical keys but with factor 2.0%
Тестовано на HiKey960, Android O AOSP.
Довідався з: https://github.com/ARM-software/lisa/pull/408
Також запитують у: тест мавпи: Якщо система Android не має фізичних ключів, то які параметри потрібно включити в команду
Спробуйте це, щоб відкрити додаток для фотографій Android та з певним файлом зображення, який відкриється як параметр.
adb shell am start -n com.google.android.apps.photos/.home.HomeActivity -d file:///mnt/user/0/primary/Pictures/Screenshots/Screenshot.png
Він буде працювати на останньому Android, не з’явиться спливаюче вікно, щоб вибрати програму, яку потрібно відкрити, оскільки ви надаєте конкретну програму, для якої ви хочете відкрити своє зображення