카테고리 없음2018. 2. 18. 10:38

내장, 선탑재, 통신사 어플리케이션 등등. 이들을 무엇이라고 부르든 간에, 안드로이드에서 블로트웨어(Bloatware)는 항상 골칫거리였습니다. 물론 안드로이드가 사용중지 기능을 제공하고, 선탑재 앱의 개수가 제한되면서 상황은 크게 개선되었지만, 그럼에도 삭제가 안 되는 1-2개가 문제입니다.


다행히도 ADB(Android 디버그 브리지)와 적절한 드라이버만 설치돼있으면 이러한 어플리케이션들을 강제로 삭제할 수 있습니다. 본 강좌는 LG 유플러스로 발매된 화웨이 P9(안드로이드 6.0)와 윈도우10을 기준으로 작성되었으며, 타 안드로이드 스마트폰(갤럭시, LG 등)에도 적용이 가능합니다.

준비물 _
1. ADB, Fastboot
2. 제조사별 드라이버
※ 삼성 갤럭시 통합 드라이버
※ LG United Mobile Driver
3. 스마트폰 - PC 연결 케이블
※ 데이터 전송이 되어야 합니다.
※ 되도록 PC 뒤쪽에 연결하세요.

ADB를 설치하는 법은 다양하나, 가장 간편하고 용량이 적은 방법은 아래 프로그램을 사용하시는 겁니다. 링크를 클릭하면 XDA 페이지가 열리는데, 이곳에서 Downloads: Version 1.4.2 아래의 링크 중 하나를 클릭하여 파일을 받으시면 됩니다. ※ 텍스트와 달리 1.4.3 버전이 다운로드 됩니다.

[TOOL] [WINDOWS] ADB, Fastboot and Drivers - 15 seconds ADB Installer v1.4.3

15 seconds ADB Installer v1.4.3 ADB, Fastboot and Drivers What is this? This is All-in-One installer for 3 most needed PC tools for Android. No need to d…
forum.xda-developers.com

파일을 실행하면 (1) ADB와 Fastboot을 설치할지 (2) ADB를 시스템 전반에 설치할지 (3) 기기 드라이버를 설치할지를 순서대로 묻습니다. 각 질문에 Y를 타이핑하고 엔터를 치면 진행이 됩니다. 원하지 않는 옵션이 있다면 N을 타이핑하고 엔터를 치면 됩니다. 전 1, 2, 3 모두 동의(Y)했습니다.


1. ADB 설치 파일을 실행한 뒤 Y, 엔터를 순서대로 누른다.

2. 3단계까지 진행한 모습

3. 기기 드라이버를 설치하기 위한 새로운 창이 뜬다.

3-1. 설치(I) 버튼을 눌러 진행한다.

3-2. 구글 USB 드라이버가 설치되었다.

이후 본인의 스마트폰 제조사에 해당되는 드라이버를 설치해야 합니다. 삼성과 LG는 드라이버만을 설치할 수 있는 파일을 제공하고 있습니다. (준비물 참조) 그렇지 않을 경우 Samsung Switch와 같은 제조사별 스마트폰 관리 프로그램을 설치하면 됩니다. ※ 스마트폰 - PC를 분리하고 설치하세요.


4. 화웨이 스마트폰이므로 HiSuite를 설치한다.

이후 스마트폰의 설정에 들어가 빌드 번호란을 찾습니다. 화웨이는 휴대전화 정보, 갤럭시는 디바이스 정보에 있습니다. 빌드 번호란을 5회 연타하면 개발자 옵션이 시스템 설정에 추가(활성화)되며, 여기서 USB 디버깅을 허용하면 됩니다. 이후 스마트폰을 PC와 연결하고 또 한 차례 허용을 합니다.

  
5. 스마트폰에서 USB 디버깅을 켜고 PC와 연결한다.

※ 이 때 항상 허용을 체크하지 않으면, 명령어를 입력할 때 마다 확인을 눌러야 합니다. 다음으로는 탐색기를 열어 쉬프트를 누른 상태로 우클릭을 합니다. 옵션 중 '여기에 Powershell 창 열기'를 클릭하여 새로운 창이 뜹니다. ※ 최신 윈도우10에서는 이 창에 명령어 복사 붙여넣기가 가능합니다.


6. 탐색기에서 Shift + 우클릭으로 Powershell 창을 연다.

7-1. ADB에 명령어들을 입력한다.

명령어 _
복사 붙여넣기가 되는지 확인해보세요.
다중 앱을 삭제할 때 큰 도움이 됩니다.

1. adb devices
연결된 기기들의 목록을 보여줍니다.
adb 작업이 가능한 상태인지 확인합니다.
2. adb shell pm list packages
기기에 설치되어 있는 앱(패키지) 목록입니다.
3. adb shell pm uninstall -k --user 0
설치되어 있는 앱(패키지)을 제거합니다.

기기가 성공적으로 연결됐다면 3번 명령어 + 패키지명으로 어플리케이션을 제거합니다. 스마트폰에 설치된 패키지 목록은 2번 명령어로 확인이 가능하나 (전체 선택 및 복사 붙여넣기도 가능), 아래와 같이 시스템 설정의 '실행 중인 서비스'나 써드파티 앱을 사용하는게 보다 확실하고 편합니다.

 
설정의 실행 중인 서비스, Solid Explorer의 애플리케이션
 
시스템 설정의 실행 중인 서비스 중 하나를 선택한 화면

통신사 앱스토어인 ONE store을 예시로 들어보면, ADB에서는(2번 명령어를 사용하면) package:com.lguplus.appstore라고 뜨며, 시스템 설정에서는 com.lguplus.appstore라는 프로세스가 실행중이라고 뜹니다. 이것이 패키지명입니다. ※ com.으로 시작하지 않는 패키지명도 많습니다.

LG가 들어 있는 패키지들 _
package:lg.uplusbox
package:com.lguplus.appstore 
package:com.lguplus.pushagent
package:com.lguplus.common
package:com.lguplus.downloader
package:com.lguplus.mobile.cs
package:com.lguplus.tsmproxy
package:com.lguplus.common.lgugpson
package:com.lguplus.common_api_impl
package:com.lguplus.common.gpsonservice

저는 원스토어, 유플러스 박스, 화웨이 HiVoice ‧ Swype 키보드 ‧ 뮤직 플레이어 ‧ 이메일, 구글 플러스 ‧ 지도 등을 삭제했습니다. 패키지 삭제에 성공하면 Success 문구가, 실패하면 Failure 문구와 부연 설명이 뜹니다. 만약 실패했다면 오타가 났는지, 띄어쓰기는 맞는지 등을 확인하시면 됩니다.


7-2. ADB에 명령어들을 입력한다.

유플러스 박스가 사라진 멀티태스킹 창

삭제된 어플리케이션을 복구하고 싶으시다면 (1) 스마트폰을 공장초기화 하시거나 (2) 하단의 글을 참조하시면 됩니다. 만약 시스템에 필수적인 패키지를 삭제하셨다면 부팅이 안 되고, 스마트폰이 벽돌되니 주의하여 사용하시길 바랍니다. 삭제해도 되는 앱 목록을 미리 찾아보는 것도 좋습니다.


Posted by 무소유v

https://www.clien.net/service/board/lecture/11092791


위 글에 indirex 님이 아래 명령어로 system app을 제거하는 방법을 소개해 주셨습니다.

adb shell pm uninstall -k --user 0 패키지명


그런데, 제거한  앱이  복구하기 힘든 경우가 있습니다. (DEX_PREOPT = true인 APK만 존재하는 경우)

그래서 복구 툴 하나를 만들었습니다.


android-tool-master.zip



android-6.x.x(Marshmallow) 용, 아마 7.x.x(Nougat) 에서도 동작하리라 봅니다.

https://github.com/textkiller/android-tool/tree/android-6.x.x/prebuilt


android-8.x.x용 (Oreo)

https://github.com/textkiller/android-tool/tree/master/prebuilt


실행 방법 아래와 같습니다. (adb  설치되어 있어야 함)


adb push atool /data/local/tmp

adb push atool.jar /data/local/tmp

adb shell "chmod 755 /data/local/tmp/atool"

adb shell "/data/local/tmp/atool pm install-existing-package --user 0 패키지명"


* 맥이나 리눅스를 사용하시는 분은 아래 한줄로도 가능합니다.

./atool.sh pm install-existing-package --user 0 패키지명


제가 맥에서만 테스트 했는데 윈도우에서 어떨지 몰라 아래 명령어 하나 더 추가했습니다.

adb shell "chmod 755 /data/local/tmp/atool"



2017/09/03: Nougat에서 문제가 있어서 다시 수정해서 올렸습니다.

android-6.x.x branch는 현재 Nougat, Marshmallow  모두 지원합니다.

아래기기에서 테스트했습니다.

Marshmallow: Nexus 5
Nougat: G5
Oreo: Nexus 5x



출처 : https://www.clien.net/service/board/lecture/11116786

Posted by 무소유v

$ adb push app-debug.apk /data/local/tmp/com.beanandyu.myapplication

com.android.ddmlib.AdbCommandRejectedException: device unauthorized.

This adb server's $ADB_VENDOR_KEYS is not set

Try 'adb kill-server' if that seems wrong.

Otherwise check for a confirmation dialog on your device.

Error while Installing APK



위의 에러는 Android Device에서 USB Debugging을 허용하지 않았을 때에 발생한다. 

해결방법은 
Android device의 usb 연결을 뺏다가 다시 연결하면 pop up menu가 뜨면서 
usb debugging 허용을 물어본다. 

이 때, YES 를 선택하면 된다. 



출처: http://bean-and-yu.tistory.com/145 [실용주의 프로그래머]

Posted by 무소유v