Можно ли начать работу через оболочку adb? [Дубликат]

На этот вопрос уже есть ответ здесь:

Как запустить приложение с помощью инструментов Android ADB? 11 ответов

Я хочу начать деятельность через оболочку adb. Так что я могу запустить определенную деятельность, которая необходима

 Vajk Hermecz14 нояб. 2012 г., 15:24

Ответы на вопрос(6)

Решение Вопроса

Запустите adb shell и введите команду следующим образом

am start -n yourpackagename/.activityname
 samis02 февр. 2018 г., 17:55
AAPT Безразлично»не существует на моем планшете Samsung ... также, возможно, к имени активности добавлен хэш md5.
 Doge28 сент. 2016 г., 22:51
Более простой способ найти apk на телефоне будетadb shell pm path
 rbennell13 дек. 2018 г., 12:50
Нитеш - этоздесьdeveloper.android.com/studio/command-line/adb#IntentSpec (нажмите показать все)
 mbelsky01 дек. 2015 г., 07:56
Также не надозабыть добавитьandroid:exported="true" строка для действия в файле AndroidManifest.xml.
 chrisvarnz14 янв. 2014 г., 18:45
Вы можете узнать имена действий, запустивaapt dump xmltree AndroidManifest.xml и просматривая вывод.
 Neetesh Kumar Gupta27 июл. 2018 г., 00:25
Что значит '-n» выступает за здесь? Я не вижу никакой документации на странице:developer.android.com/studio/command-line/adb под 'Позвоните менеджеру по работе (am) ' раздел.
 m0skit030 янв. 2018 г., 19:14
@ ChristopherGalpin Нет необходимости тянуть APK,adb shell dumpsys package делает работу
 Christopher Galpin30 мая 2014 г., 01:12
Вы можете найти apk на телефоне сadb shell pm list packages -f и получить его сadb pull /path/to/file.apk C:\some\folder использовать сaapt Командование Крис прокомментировал. (aapt находится в build-tools)

например:

MyPackageName - com.example.demo

MyActivityName является com.example.test.MainActivity

adb shell am start -n com.example.demo/com.example.test.MainActivity
 UdayaLakmal21 нояб. 2016 г., 09:51
^^^ Это правильное объяснение, а не " я начинаю -n yourpackagename / .activityname " Вы запускаете активность может быть в другом пакете, чем в приложении pakagename

(Добавил бы это как комментарий выше, но нерепутации на экране недостаточно ...) Вы также можете найти название текущей активности на экране, используя

adb shell dumpsys window windows | grep 'mCurrentFocus'
 Jared Burrows24 авг. 2016 г., 02:16
Спасибо за публикацию этого! Это действительно полезно в больших проектах.
 cV201 июн. 2017 г., 14:40
Большое спасибо, у меня были разные типы сборки, и как ни странно в названии действия, суффикс для пакета неt использовал: / узнал что-то!
adb shell am broadcast -a android.intent.action.xxx

Упомяните ххх как действие, которое вы упомянули в файле манифеста.

Например, это запустит XBMC:

adb shell am start -a android.intent.action.MAIN -n org.xbmc.xbmc/android.app.NativeActivity

(Более общие ответы уже опубликованы, но я пропустил хороший пример здесь.)

Я запускаю его как AndroidStudio:

am start -n "com.example.app.dev/com.example.app.phonebook.PhoneBookActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER

Если у вас есть вкус продукта лайкdevдолжно происходить только в имени пакета приложения, но не должноне встречаются в имени пакета действий.

Для эмулятора это работает безandroid:exported="true" флаг активности вAndroidManifest.xml но я нашел полезным добавить его для физического устройства без рута, чтобы оно работало.

Ваш ответ на вопрос