Jelly Bean OS を実行している Android デバイスが 1 台あります。
パッケージ名ADB
がわかっている場合、プロセスが実行されているかコマンドを使用していないかを検出する方法はありますか?
使用できます
adb shell ps | grep apps | awk '{print $9}'
次のような出力を生成します。
com.google.process.gapps
com.google.android.apps.uploader
com.google.android.apps.plus
com.google.android.apps.maps
com.google.android.apps.maps:GoogleLocationService
com.google.android.apps.maps:FriendService
com.google.android.apps.maps:LocationFriendService
adb shell ps は、Android デバイスで実行中のすべてのプロセスのリストを返します。grep apps は、「apps」を含む任意の行を検索します。上記のように、それらはすべて com.google.android.APPS です。または GAPPS の場合、awk は、この場合はパッケージ名である 9 番目の列を抽出します。
特定のパッケージを検索するには
adb shell ps | grep PACKAGE.NAME.HERE | awk '{print $9}'
すなわちadb shell ps | grep com.we7.player | awk '{print $9}'
実行中の場合は名前が表示され、そうでない場合は結果が返されません。
現在フォーカスされているアプリのパッケージ名を直接取得する場合は、次の adb コマンドを使用します -
adb shell dumpsys window windows | grep -E 'mFocusedApp'| cut -d / -f 1 | cut -d " " -f 7
adb コマンドの結果からの余分な情報は、cut コマンドを使用して削除されます。ここから元のソリューション。
試す:
adb shell pidof <myPackageName>
アプリケーションが実行されていない場合、標準出力は空になります。それ以外の場合は、PID を出力します。