¿Es posible iniciar la actividad a través de shell de adb?

Quiero iniciar la actividad a través de shell de adb. Para que yo pueda lanzar una actividad específica que se necesita

Inicie shell de adb e ingrese el comando como sigue

am start -n yourpackagename/.activityname 
 adb shell am broadcast -a android.intent.action.xxx 

Mencione xxx como la acción que mencionó en el archivo de manifiesto.

Por ejemplo esto iniciará XBMC:

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

(Las respuestas más generales ya están publicadas, pero me perdí un buen ejemplo aquí.)

Lo ejecuto como AndroidStudio hace:

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

Si tiene sabor de producto como dev , debería aparecer sólo en el nombre del paquete de aplicación, pero no debería aparecer en el nombre del paquete de actividad.

Para el emulador, funciona sin android:exported="true" bandera en la actividad en AndroidManifest.xml pero me pareció útil para añadirlo a unrooted dispositivo físico para que funcione.

p.ej:

MyPackageName es com.example.demo

MyActivityName es com.example.test.MainActivity

 adb shell am start -n com.example.demo/com.example.test.MainActivity 

(Añadiría esto como un comentario anterior pero no tiene suficiente reputación …) También puede encontrar el nombre de la actividad actual en la pantalla usando

 adb shell dumpsys window windows | grep 'mCurrentFocus' 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.