有时需要在shell中启动Android应用程序,可通过如下方法
格式为adb shell am start -n 包名/入口activity名称,如
adb shell am start -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -n com.kugou.android/com.kugou.android.app.splash.SplashActivity
或者
adb shell am start -n com.kugou.android/com.kugou.android.app.splash.SplashActivity
如果是第三方的应用,可通过如下方法获取包名和入口activity的名称。
1.下载apktool并安装
https://ibotpeaches.github.io/Apktool/install/
2.使用apktool反编译app:
3.打开反编译后的AndroidManifest.xml
搜索package,package="com.kugou.android",com.kugou.android即为包名。
查找android.intent.action.MAIN和android.intent.category.LAUNCHER对应的activity,该activity对应的android:name属性既是入口activity名称,如下:
android:launchMode="singleTop" android:name="com.kugou.android.app.splash.SplashActivity" android:screenOrientation="portrait" android:taskAffinity="android.task.kugou" android:theme="@style/ev">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.CREATE_SHORTCUT"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="content"/>
<data android:scheme="file"/>
<data android:mimeType="audio/*"/>
<data android:mimeType="application/ogg"/>
<data android:mimeType="application/x-ogg"/>
<data android:mimeType="application/itunes"/>
</intent-filter>
android.intent.action.MAIN决定应用程序最先启动的Activity,com.kugou.android.app.splash.SplashActivity即为入口activity的名称。