Android - adb 명령어로 특정 패키지의 PID 찾기

adb 명령어로 특정 패키지의 PID 찾는 방법을 소개합니다.

1. adb shell pidof PACKAGE_NAME

다음 명령어는 com.google.android.youtube 패키지의 pid를 출력합니다. 5862이 Youtube의 PID입니다.

$ adb shell pidof com.google.android.youtube
5862

App이 실행 중이 아니라면 PID가 없기 때문에, 아무것도 출력되지 않습니다.

2. adb shell ps -ef | grep PACKAGE_NAME

다음과 같이 쉘의 ps를 이용하여 특정 패키지의 PID를 찾을 수 있습니다. 5862가 Youtube의 PID입니다.

$ adb shell ps -ef | grep com.google.android.youtube
u0_a121        5862    291 18 15:03:08 ?    00:00:05 com.google.android.youtube

3. 패키지 이름 확인

다음 명령어를 사용하면 디바이스에 설치된 모든 패키지의 리스트가 출력됩니다. 앱 이름과 패키지 이름이 비슷하다면 여기서 찾아볼 수 있습니다.

$ adb shell pm list packages

package:com.google.android.networkstack.tethering
package:com.android.cts.priv.ctsshim
package:com.google.android.youtube
package:com.android.internal.display.cutout.emulation.corner
package:com.google.android.ext.services
package:com.android.internal.display.cutout.emulation.double
package:com.android.providers.telephony
package:com.android.dynsystem
package:com.android.theme.icon.pebble
...

패키지 이름이 앱의 이름과 비슷하지 않다면, 위의 방법으로 패키지 이름을 찾기는 쉽지 않습니다.

이럴 때는 앱을 실행시키고, 아래와 같은 로그캣 명령어로 실행되는 앱의 Activity 이름으로 유사한 package name을 추측할 수 있습니다.

$ adb shell logcat -b events | grep wm_on_re
07-11 14:44:34.246   923   923 I wm_on_resume_called: [152199755,com.android.settings.FallbackHome,RESUME_ACTIVITY]
07-11 14:44:37.114  1045  1045 I wm_on_resume_called: [218164884,com.google.android.apps.nexuslauncher.NexusLauncherActivity,RESUME_ACTIVITY]
07-11 14:49:55.441  4941  4941 I wm_on_resume_called: [224219331,com.google.android.apps.youtube.app.WatchWhileActivity,RESUME_ACTIVITY]
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha