Android Debug Bridge(ADB)는 Android 기기를 관리하고 디버깅하는 데 사용되는 강력한 도구입니다. 이를 활용하면 앱을 설치하거나 삭제하고, 설치된 패키지를 확인하며 특정 앱을 비활성화할 수도 있습니다. 본 포스팅에서는 ADB를 활용하여 애플리케이션을 효과적으로 관리하는 방법을 설명하겠습니다.
1. ADB 환경 설정
ADB를 사용하려면 개발 환경이 적절히 설정되어 있어야 합니다. 다음은 기본적인 ADB 환경 설정 방법입니다.
- Android SDK Platform-Tools 다운로드 및 설치
- 기기에서 개발자 옵션을 활성화하고 USB 디버깅을 허용
- ADB가 정상적으로 작동하는지 확인:
adb devices
위 명령을 실행하면 연결된 기기의 목록이 출력됩니다. 만약 리스트가 비어 있다면 USB 연결 상태를 확인하거나 ADB 권한을 허용해야 합니다.
2. 애플리케이션 설치
ADB를 사용하여 APK 파일을 설치할 수 있습니다. 일반적으로 앱을 수동으로 설치할 때는 Google Play 스토어를 이용하지만, 개발 중인 앱을 직접 배포하거나 특정 APK 파일을 설치할 때 ADB 명령을 사용하면 매우 유용합니다.
2.1. APK 파일 설치
ADB를 이용하여 APK 파일을 설치하려면 다음 명령을 실행합니다.
adb install app.apk
여기서 app.apk
는 설치할 APK 파일의 경로입니다. 만약 특정 기기에 설치하려면 -s
옵션을 사용하여 대상 기기를 지정할 수 있습니다.
2.2. APK 파일 강제 설치 (기존 앱 덮어쓰기)
기존 앱이 설치되어 있는 경우, 기본적으로 ADB는 설치를 차단합니다. 이를 우회하려면 -r
옵션을 사용하여 기존 앱을 덮어씌울 수 있습니다.
adb install -r app.apk
2.3. 시스템 앱으로 설치
일반적으로 시스템 앱은 /system/app/
또는 /system/priv-app/
디렉토리에 위치합니다. 이를 직접 설치하려면 ADB를 사용하여 /system
파티션을 읽기-쓰기 모드로 마운트한 후 설치해야 합니다.
adb remount
adb push app.apk /system/app/
adb shell chmod 644 /system/app/app.apk
adb reboot
이러한 방식은 루팅된 기기에서만 가능합니다.
3. 애플리케이션 삭제
설치된 애플리케이션을 제거하려면 adb uninstall
명령을 사용합니다.
adb uninstall <package_name>
예를 들어 com.example.myapp
이라는 패키지를 삭제하려면 다음과 같이 실행하면 됩니다.
adb uninstall com.example.myapp
3.1. 사용자 데이터 유지 후 삭제
앱을 삭제할 때 모든 데이터를 유지하고 싶다면 -k
옵션을 사용할 수 있습니다.
adb uninstall -k <package_name>
이렇게 하면 앱만 삭제되고 사용자 데이터는 기기에 남아 있습니다.
3.2. 시스템 앱 삭제
기본적으로 시스템 앱은 adb uninstall
명령으로 삭제할 수 없습니다. 이를 삭제하려면 ADB를 사용하여 /system
파티션을 읽기-쓰기 모드로 마운트한 후 제거해야 합니다.
adb remount
adb shell rm -rf /system/app/<app_folder>/
adb shell rm -rf /data/data/<package_name>/
이후 기기를 재부팅하면 앱이 완전히 제거됩니다.
4. 설치된 앱 목록 확인
현재 기기에 설치된 애플리케이션 목록을 확인하려면 다음 명령을 사용합니다.
adb shell pm list packages
이 명령을 실행하면 모든 패키지 목록이 출력됩니다. 특정 앱만 필터링하려면 grep
명령을 사용할 수 있습니다.
adb shell pm list packages | grep example
이렇게 하면 패키지 이름에 "example"이 포함된 앱만 출력됩니다.
4.1. 사용자 앱과 시스템 앱 구분
사용자 앱만 조회하려면 다음 명령을 사용합니다.
adb shell pm list packages -3
반대로, 시스템 앱을 확인하려면 다음 명령을 실행합니다.
adb shell pm list packages -s
5. 애플리케이션 비활성화
일부 앱은 삭제할 수 없도록 설정되어 있습니다. 이러한 경우 앱을 비활성화하여 실행되지 않도록 할 수 있습니다.
5.1. 앱 비활성화
adb shell pm disable-user <package_name>
예를 들어, 특정 앱(com.example.myapp
)을 비활성화하려면 다음과 같이 실행하면 됩니다.
adb shell pm disable-user com.example.myapp
5.2. 앱 다시 활성화
비활성화한 앱을 다시 활성화하려면 다음 명령을 사용합니다.
adb shell pm enable <package_name>
6. 정리
이번 포스팅에서는 ADB를 활용하여 애플리케이션을 관리하는 방법을 설명하였습니다.
adb install app.apk
: APK 파일 설치adb uninstall <package_name>
: 앱 삭제adb shell pm list packages
: 설치된 앱 목록 확인adb shell pm disable-user <package_name>
: 앱 비활성화
이러한 ADB 명령어를 활용하면 Android 애플리케이션을 보다 효율적으로 관리할 수 있습니다. 실무에서나 개발 중에 유용하게 활용할 수 있으므로, 필요할 때마다 참고하시기 바랍니다.
'Android > ADB' 카테고리의 다른 글
ADB를 활용한 개발 및 자동화 (0) | 2025.02.18 |
---|---|
ADB Shell을 활용한 시스템 제어 (0) | 2025.02.17 |
ADB를 활용한 로그 및 디버깅 (0) | 2025.02.15 |
ADB를 활용한 파일 관리 (0) | 2025.02.14 |
ADB 기본 명령어 정리 (0) | 2025.02.13 |