루트가 아닌 장치에서 APK의 패키지 이름을 얻는 방법을 찾았습니다. 너무 우아하지는 않지만 항상 작동합니다.
1 단계 : 기기에서 대상 APK를 엽니 다.
2 단계 : PC cmd 창에서 다음 명령을 입력하십시오.
adb shell dumpsys activity a > dump.txt
이 명령의 출력이 많으므로 파일로 리디렉션하는 것이 좋습니다.
3 단계 :이 덤프 .txt 파일을 편집기로 엽니 다.
Android 4.4
의 경우 파일의 시작 부분은 다음과 같습니다.
ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)
Main stack:
* TaskRecord{41aa9ed0 #4 A com.tencent.mm U 0}
numActivities=1 rootWasReset=true userId=0
affinity=com.tencent.mm
intent={act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10600000 cmp=com.tencent.mm/.ui.LauncherUI}
realActivity=com.tencent.mm/.ui.LauncherUI
askedCompatMode=false
lastThumbnail=null lastDescription=null
lastActiveTime=19915965 (inactive for 10s)
* Hist #9: ActivityRecord{41ba1a30 u0 com.tencent.mm/.ui.LauncherUI}
packageName=com.tencent.mm processName=com.tencent.mm
패키지 이름은 세 번째 줄, com.tencent.mm에 있습니다. 이 예 있습니다.
Android 4.4 이상 :
dumpsys 출력이 약간 변경되었습니다. "Stack # 1"을 검색하면 패키지 이름이 그 아래에 매우 가깝습니다.
또한 "baseDir"을 검색하면 APK 파일의 전체 경로를 찾을 수 있습니다!