대부분 안드로이드 백업 앱은 루팅을 요구한다.
하지만, adb를 이용하면 루팅하지않고도 백업과 복원을 할 수 있다.

adb는 구글에서 제공하는 개발자를 위한 툴이지만 이를 사용하면 백업, 복원을 쉽게(?) 할 수 있다.

먼저 adb를 설치해야 하는데. 이는 구글의 Android SDK에 포함되어있다.

Adnroid SDK에서 자신의 시스템에 맞는 SDK를 받아 설치한다.

SDK를 설치한 후 설치 디렉토리 아래 platform-tools 디렉토리에 보면, adb 실행파일이 들어있다. 이는 커맨드라인으로 실행되는 실행파일이므로 터미널에서 실행한다.


adb로 백업할 때의 명령형식은 다음과 같다.


adb backup [-f <file>] [-apk|-noapk] [-shared|-noshared] [-all] [-system|-nosystem] [<packages...>]

  • -f <file> : 백업을 저장할 파일을 지정한다. 이 옵션을 생략하면 현재 디렉토리에 backup.ab라는 파일로 백업한다.
  • -apk|-noapk : .apk 파일을 백업할 것인지를 설정한다.
  • -shared|-noshared : 장치의 shared 저장장치 / SD 카드의 콘텐츠를 백업할 것인지를 설정한다. 지정하지않으면 백업하지않는다.
  • -all : 설치된 모든 어플리케이션을 백업한다.
  • -system|-nosystem : 시스템 어플리케이션을 포함할 것인지를 설정한다. -all 은 시스템 어플리케이션을 포함한다. 지정하지않으면 시스템 어플리케이션을 포함한다.
  • <packages...> : 백업할 어플리케이션의 리스트를 적는다. 패키지 리스트를 적으면 -all, -shred 플래그는 무시된다. -nosystem을 지정했더라도 명시적으로 이곳에 적으면 백업된다.

그러면 예를 들어서 내 안드로이드 폰 또는 태블릿에 설치한 모든 프로그램과 데이터를 백업하려한다면. 폰을 usb로 연결한 상태에서 다음과 같이 입력하면 된다.


adb backup -f backup.ab -apk -shared -all


이제 폰 화면에는 다음과 같이 백업을 확인하는 화면이 나타난다. 여기서 백업을 확인해주면 바로 백업 작업이 시작된다.


복원할 때의 명령형식은 다음과 같다.


adb restore backup.ab

  • ᅟbackup.ab는 백업했을 때 백업을 저장한 파일이름이다.

이제 굳이 루팅하지않고도 설치한 어플리케이션과 데이터를 백업하고 복원할 수 있다. 비싼 백업 어플리케이션을 구매하지않아도 된다. 다만 커맨드라인 UI가 생소하겠지만 말이다.

Posted by 달리만듦