Android/ADB

ADB를 활용한 애플리케이션 관리

임베디드 친구 2025. 2. 16. 12:01
728x90
반응형

Android Debug Bridge(ADB)는 Android 기기를 관리하고 디버깅하는 데 사용되는 강력한 도구입니다. 이를 활용하면 앱을 설치하거나 삭제하고, 설치된 패키지를 확인하며 특정 앱을 비활성화할 수도 있습니다. 본 포스팅에서는 ADB를 활용하여 애플리케이션을 효과적으로 관리하는 방법을 설명하겠습니다.

1. ADB 환경 설정

ADB를 사용하려면 개발 환경이 적절히 설정되어 있어야 합니다. 다음은 기본적인 ADB 환경 설정 방법입니다.

  1. Android SDK Platform-Tools 다운로드 및 설치
  2. 기기에서 개발자 옵션을 활성화하고 USB 디버깅을 허용
  3. 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