안드로이드 스튜디오에는 가상머신이라는 게 있습니다.
Emulator라고 부르며 홈페이지에서는 아래와 같이 소개합니다.
안드로이드 핸드폰을 갖고 있지 않아도 가상머신을 이용하면 안드로이드 핸드폰을 사용해서 앱을 구동시키는 것과 같은 효과를 내는 놀라운 머신이죠.
https://developer.android.com/studio/run/emulator
안드로이드 가상 머신(Emulator)에 관해서는 위 링크에서 자세히 알아보시면 되겠습니다.
저는 이 가상 머신을 전혀 사용하지 않고 있습니다.
왜냐구요?
가상머신을 돌리는 데는 꽤나 높은 컴퓨터 사양이 필요합니다.
현재 저는 주로 노트북으로 작업을 하는데 노트북으로 가상머신을 돌리면서 여러가지 작업을 동시에 진행하면 노트북 팬도 너무 많이 돌게 되고 발열량이 엄청나게 됩니다.
물론 맥북 프로 급의 노트북에서는 전혀 문제가 없는 것으로 알려져 있으니 가능하신 분은 맥북 프로 사셔서 emulator를 이용해보시면 좋겠네요.
이제 그럼 내 핸드폰에서 앱을 실행시켜 봅시다.
제일 먼저 내 핸드폰을 개발자 모드로 만들어줘야 합니다.
https://developer.android.com/studio/debug/dev-options
개발자 옵션을 만드는 방법은 위 링크를 따라가면 되지만 간단하게 설명드리면
핸드폰 - 설정 - 일반 - 휴대폰 정보 - 소프트웨어 정보 탭으로 이동하신 후에
"빌드 번호" 칸을 7번 탭해주시면 됩니다.
빌드 번호를 탭만 열심히 해주면 누구나 개발자를 만들어 주는 구글의 놀라운 센스를 보실 수 있습니다.
이 이후에는 USB 디버깅을 활성화 시켜줘야 합니다.
그 다음 Windows를 사용하는 대부분의 분들은 USB드라이버를 설치해야 합니다.(OEM USB 드라이버 설치)
USB 드라이버를 설치하고 나면 이제 안드로이드 스튜디오에 내 핸드폰이 연결된 것을 확인할 수 있습니다.
이렇게 하면 우리는 우리의 핸드폰에서 내가 개발한 앱을 실행(▶)시켜서 테스트 해볼 수 있습니다.
가상 머신 보다 내 핸드폰에서 테스트 했을 때의 좋은 점과 나쁜 점을 알아보겠습니다.
첫 번째 좋은 점은 일단 빠르다는 것입니다.
가상머신은 일단 컴퓨터에서 실행되는 것이라 컴퓨터 리소스를 많이 차지합니다.
그렇기에 아무래도 개발도 컴퓨터에서 실행도 컴퓨터에서 하는 것보다는 분리해서 진행하는 것이 빠를 수 밖에 없습니다.
두 번째 좋은 점은 핸드폰만 있어도 내 앱이 잘 되는지 확인 할 수 있다는 것입니다.
물론 실행이 성공적으로 되는 것이 확인 되었다면 계속해서 앱을 테스트 할 일이 많지는 않지만, db나 웹 연결 등의 앱 내부의 코드가 아닌 외부 상황이 변경되는 경우에는 앱을 통해 확인은 해야되지만 꼭 컴퓨터랑 연결되어 있지 않아도 확인이 가능합니다.
컴퓨터를 키고 가상머신을 키고 데이터를 확인하느 것 보다 핸드폰에서 바로 앱을 켜서 데이터를 확인할 수 있으니 당연 간편하게 확인할 수 있겠죠?
그럼 가상머신의 장점을 좀 알아볼까요?
일단 우리는 모든 기기를 보유할 수 없습니다.
세상에는 정말 많은 종류의 기기들이 있습니다. 핸드폰, 태블릿 등 여러가지 기기들을 다 보유해야만 모든 기기들을 테스트 할 수 있다면 정말 비효율 적일 것입니다.
그래서 가상머신에서는 여러가지 기기들을 제공합니다.
다양한 기기들에서 테스트를 돌려볼 수 있다는 것이 가상머신 Emulator의 최고 장점입니다.
그렇지만 구글 firebase 서비스에서도 다양한 유형의 기기에서 실행되는지에 대한 테스트를 진행할 수 도 있으니 참고하시면 될 것 같습니다.
https://firebase.google.com/docs/test-lab/
'안드로이드 개발' 카테고리의 다른 글
안드로이드 - 앱에서 activity는 무엇일까?(초보자도 이해할 수 있게!) (0) | 2020.03.10 |
---|---|
안드로이드 - Textview 만들고 수정해보기(text 속성) (0) | 2020.03.07 |
안드로이드 - 안드로이드 스튜디오에서 empty activity 만들어보기(새 프로젝트 시작하기, 내 앱 만들기) (0) | 2020.03.03 |
안드로이드 - 개발도구 IDE 안드로이드 스튜디오(android studio) 설치 (0) | 2020.03.02 |
안드로이드 개발을 하려면 배워야 하는 프로그래밍 언어는?(JAVA & KOTLIN) (0) | 2020.02.29 |