Android
2015.06.01 10:12

android pm 명령어 정리

조회 수 15542 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print

http://egloos.zum.com/sharku/v/1328169


안드로이드에서 사용가능한 쉘 명령어입니다


pm의 기본 실행 권한은 -rwxr-xr-x(755) 입니다

쉘에서 pm 이라고 하면 usage가 출력됩니다

usage: pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [FILTER]
       pm list permission-groups
       pm list permissions [-g] [-f] [-d] [-u] [GROUP]
       pm list instrumentation [-f] [TARGET-PACKAGE]
       pm list features
       pm list libraries
       pm path PACKAGE
       pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] [-s] [-f]
                  [--algo <algorithm name> --key <key-in-hex> --iv <IV-in-hex>] PATH

       pm uninstall [-k] PACKAGE
       pm clear PACKAGE
       pm enable PACKAGE_OR_COMPONENT
       pm disable PACKAGE_OR_COMPONENT
       pm disable-user PACKAGE_OR_COMPONENT
       pm grant PACKAGE PERMISSION
       pm revoke PACKAGE PERMISSION
       pm set-install-location [0/auto] [1/internal] [2/external]
       pm get-install-location
       pm set-permission-enforced PERMISSION [true|false]


크게
list
path
install
uninstall
clear
enable
disable
great
revoke
set-install-location
get-install-location
set-permission-enforced

이렇게 정리할수 있겠습니다

이제 시작해보겠습니다.
실제 명령어는 굵게 표시했으니 참고하시면 됩니다.

1. list

리스트는 다시 여러개의 항목으로 나눠집니다
packages
permission-groups
permissons
instrumentation
features
libraries

1) packages
pm list packages 라고 쓰면 현재 설치된 패키지 목록이 출력됩니다.
여기서 출력되는 패키지이름들이 실제 패키지명입니다
카카오톡 이런건 패키지명이 아닙니다.

여기서는 모든 패키지가 출력됩니다

그런데 친절하게도 옵션들이 있습니다.
-f  패키지명과 연관된 apk 파일의 경로를 보여줍니다
-d 실행 줄가능한 패키지를 보여줍니다
-e 실행가능한 패키지들을 보여줍니다
-s 시스템패키지만 보여줍니다
-3 시스템패키지가 아닌 서드파티 패키지만 보여줍니다(사용자가 설치한 앱)
-i 각 패키지별로 인스톨러를 표시해줍니다(보통은 null)
-u 언인스톨된 패키지까지 포함해서 보여줍니다(그런데 안보임..)

2) permission-groups
pm list permission-groups 라고 쓰면 권한이 주어진 그룹을 출력합니다.

3) permissions
pm list permissions  알려진 모든 permission을 보여줍니다.
옵션은 아래와같습니다
-g 그룹별로 부여된 permission들을 보여줍니다(permission-groups 에있는 group들을 기본으로 합니다)
-f permission 별로 상세 내용을 보여줍니다
   (각 permission 별로 package, label, descryption, protectionLevel 을 보여줍니다)
-s 간단하게 각 항목(그룹)별로 해당하는 설명과 permission 들을 보여줍니다
항목들은
development tools
Your personal informaiton
Services that cost you money
Your location
Your messages
Network communication
Your accounts
Storage
Phone calls
Hardware controls
System tools
ungrouped
-d 위함한 permission 을 보여줍니다(기본적으로는 아무것도 없습니다)
-u 위험하거나 일반적인 permission 들을 보여줍니다

4) instrumentation
pm packages instrumentation 

-f 파일경로와 함께 보여줍니다.

5) features
pm list features 시스템의 feature들을 보여줍니다.
블루투스, 카메라, 등등 이런것을 system feature 라고 합니다.


2. path
pm path [package이름]
패키지의 설치 경로를 보여줍니다.
pm list packages -f 와 기능은 똑같지만
이 명령어와 차이점은 다른 점은 한개만 보여준다는 겁니다.


3. install
pm install [apk파일명]
adb install [파일명] 과 같은 역할을 합니다.
차이점은 안드로이드의 쉘에서 실행해야 한다는 것이죠.

-l forward-lock 이라는 설정을 추가해서 설치합니다.
FORWARD-LOCK 라는 것은 이후 OS버전에서 앱이 업데이트 되지 않도록 하는 것입니다.
이후버전의 테스트 중이라거나 등등 특별한 상황에서 쓰이는 값입니다.
-r 설치된 앱을 재설치하는 옵션입니다.
-t 앱에 테스트를 허락하는 옵션입니다.
-i 인스톨러 패키지를 지정합니다.(이름을 써주면 됩니다)
-s 앱을 sdcard 에 설치합니다.
-f 앱을 내부 저장장치에 설치합니다.


4. uninstall
pm uninstall [패키지명]
설치할때는 파일명이지만 삭제할때는 패키지명으로 삭제해야 합니다 ㅎ
삭제할때는 /data/app 폴더의 앱까지 지워버립니다.
-k 삭제 후에도 앱들의 데이터는 그대로 둡니다.


5. clear
pm clear
패키지와 관련된 모든 데이터들을 삭제해버립니다.
패키지를 삭제하지는 않습니다.


6. enable, disable, disaable-user
pm enable [패키지명]
pm disable [패키지명]
pm disable-user [패키지명]
세 명령어는 패키지를 사용 가능/불가능 상태를 설정합니다.


7. grant, revoke
DB에서 자주 보던 명령어인데 여기서 또 보니 안반갑군요.. ㅋ
pm grant  [패키지명] [permission명]
pm revoke [패키지명] [permission명]
보통은 권한문제로 허락이 안됩니다.. ㅋㅋ
permission은 pm list permissions 로 확인!


8. get-install-location
pm get-install-location
패키지의 설치 장소를 보여줍니다.
0 auto는 패키지에 설정된대로 알아서 되는것이고
1 internal은 내부저장장치에
2 external은 외부저장장치에 설치됩니다.

9. set-install-location
위에와 반대로 여기는 설정하는 창입니다.
pm set-install-location [숫자]
이렇게 설정해주면 됩니다.


Dreamy의 코드 스크랩

내가 모으고 내가 보는

List of Articles
번호 분류 제목 날짜 조회 수 추천 수
195 Android adb로 display 해상도 조정 2015.04.22 12719 0
194 LINUX [Shell Script] 쉘 프로그래밍을 위한 명령어 file 2015.04.30 9563 0
193 LINUX [Shell Script] 쉘 스크립트 함수에서 return값 반환 2015.04.30 25730 0
192 Android Android Packet Dump (tcpdump로 실시간 packet 잡기) 2015.05.06 23195 0
191 일반 Common LDAP Queries 2015.05.13 8289 0
190 Android Git 특정 commit 상태로 되돌리고 SHA1 값 알아내기 2015.05.13 8658 0
189 C# How to: Programmatically Add an Entry to Outlook Contacts 2015.05.27 8783 0
» Android android pm 명령어 정리 2015.06.01 15542 0
187 C# Thread 클래스 파라미터 전달 2015.06.04 30664 0
186 PHP PHP 문자열 다루기 2015.06.30 27115 0
185 Pi 라즈베리 파이 B+ GPIO file 2015.07.12 14139 0
184 Android Fake Incoming Call Android 2015.07.23 9172 0
183 C# 윈도우 App 설정값 유지하기 (Properties.Settings.Default. , Settings.settings 이용) 2015.08.03 18704 0
182 Android Android sdk 번호(Api level)와 버전 정리 2015.08.05 38795 0
181 C# Web URL로부터 파일 다운로드 하기 2015.08.20 22028 0
목록
Board Pagination ‹ Prev 1 ... 17 18 19 20 21 22 23 24 25 26 ... 34 Next ›
/ 34

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5