ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Android Native App 개발 - ⑤
    Android 2023. 4. 25. 11:49

     

    들어가기 전에

     

    Android Studio 개발을 하다보면 내가 개발한 화면을 확인하기 위해 에뮬레이터를 실행해보게 된다.

    하지만, 에뮬레이터는 속도가 느려 확인하는데 비용이 많이 발생한다.

    몇몇 조건을 충족하게되면 에뮬레이터도 빠르게 실행할 수 있는데 어떠한 방법이 있는지 알아보고 내가 선택한 방법을 작성해보려고 한다.

     

    에뮬레이터를 빠르게 실행하는 방법

    1. 하드웨어 가속 사용
      : 안드로이드 에뮬레이터는 컴퓨터의 하드웨어를 사용하여 성능을 높일 수 있다. 먼저, 컴퓨터 프로세서가 인텔 VT-x 또는 AMD-V 가상화 기술을 지원하고 BIOS 설정에서 활성화되어 있는지 확인한다. 그런 다음 Android Studio 에서 "환경 설정" > "Appearance & Behavior" > "System Settings" > "Android SDK" > "SDK Tools"로 이동하여 "Intel x86 Emulator Accelerator(HAXIM installer)"를 설치한다.
    2. 최신 버전의 Android Studio 사용
      : 각 Android Studio의 새 버전은 에뮬레이터를 더 빠르게 실행할 수 있는 개선 사항과 최적화를 제공한다. 최신 버전의 Android Studio를 사용하는지 확인한다.
    3. 낮은 화면 해상도 사용
      : 에뮬레이터의 해상도가 높을수록 실행 속도가 느려진다. 에뮬레이터를 더 빠르게 실행하려면 낮은 해상도를 사용한다. Android Studio의 "AVD 관리자"에서 해상도를 변경할 수 있다.
    4. 에뮬레이터의 할당된 RAM 증가
      : 기본적으로 에뮬레이터에는 2GB의 RAM이 할당된다. 에뮬레이터의 성능을 높이려면 이 할당량을 늘릴 수 있다. Android Studio의 "AVD 관리자"에서 가상 장치에 대한 "편집" 버튼을 클릭한 다음 "고급 설정" 탭으로 이동한다.
    5. SSD 사용
      : 에뮬레이터를 SSD에서 실행하면 성능이 크게 향상된다.
    6. 물리적 장치 사용
      : 가능하면 에뮬레이터 대신 실제 안드로이드 기기를 사용하여 앱을 테스트한다. 물리적 기기는 일반적으로 에뮬레이터보다 더 빠르고 신뢰성이 높다.

     

    ❗ 여기서 재밌는 사실을 발견했다.

     

    안드로이드 스튜디오 HAXIM 설치

     

    작업관리자 가상화 상태

     

    CPU 제품으로 확인한 가상화 지원여부

     

    위 지표를 확인할 때는 에뮬레이터를 빠르게 실행할 수 있는 가상화를 지원할 것만 같았다. CPU 제품으로 확인하는 사이트는 여기를 확인하자.

    하지만, 에뮬레이터 실행결과 전과 변화가 없다.. 무엇이 문제인가?

     

    Intel 유틸리티 프로그램 실행결과

     

    위 유틸리티는 여기를 접속해 설치하면 확인할 수 있다.

     

    인텔에서 제공하는 유틸리티 프로그램을 설치하고 확인하니 내 CPU는 가상화 기술이 지원이 안되는걸 확인할 수 있었다.

    결론은, CPU가 가상화 기술이 지원안되는걸 사용하니 에뮬레이터 설정을 변경해도 실행속도에는 변화가 없던 것이다.

     

    위와 같은 내용을 확인한 후 나는 물리적 장치(갤럭시 휴대폰)를 사용해 안드로이드 App 개발을 해야겠다고 생각했다.

     

     

    외부 에뮬레이터 지원 도구

    하지만, 뜻하지 않게 물리적 장치가 없는 상황에는 어떻게 할지도 알아보았다. (아이폰 유저라던가, 연결 케이블이 없다던가 등의 상황이 발생할 수 있으니...)

     

    그럴 때는 대안이 되는 여러 에뮬레이터 지원 프로그램들이 있다.

    그 중에 나는 BlueStacks5 를 사용해 에뮬레이터를 사용해보려한다.

    여기에 접속해 설치를 진행하자.

     

     

    설치가 완료된 후 블루스택5 App 을 실행하면 이런 고민이 들것이다.

    에뮬레이터 지원해준다고 해서 설치는 했는데 내가 개발하고 있는 Android Studio 와 어떻게 연결하지?

    이 고민을 해결해주는 것이 adb 도구이다.

     

     

    위 그림과 같이 adb는 Android 앱 개발을 진행할 때 Android 플랫폼과 연동하는 도구 중 하나이다.

    안드로이드 스튜디오를 설치하면 자동으로 포함되어 설치된다.

     

    자 그럼 어떻게 BlueStack5 와 연결이 될까?

     

     

    위 그람과 같이 로컬 포트를 연결해 BlueStack5에서 Android Studio 개발한 결과를 확인할 수 있다.

    이제부터 실제 연결하는 작업을 진행해보겠다.

     

     

    Android Studio 와 BlueStacks5 연결

    먼저 adb가 설치된 경로가 필요하다. 만약 adb가 설치된 경로를 찾기 어렵거나 귀찮다면 여기를 방문해 원하는 경로의 설치하자.

     

    SDK 설치된 경로

     

    SDK 설치 경로에 폴더들

     

    Android SDK가 설치된 경로를 파악했다면 환경변수 설정을 해야한다. (해당 운영체제의 어느 곳에서든 절대경로를 사용하지않고 명령어만으로 사용하기 위해)

     

     

    Android 환경변수는 위 경로를 기본으로 잡아준다고 안내한다.

    안내하는대로 설정해보자.

    Windows 운영체제를 기준으로 설정하려고한다.

     

     

    다양한 변수가 선언되어 있지만 중요한건 ANDROID_HOME 부분이다.

    ANDROID_HOME 변수의 값으로 위에서 확인한 SDK 경로를 작성해준다.

     

     

    여기도 많이 작성되어 있지만 중요한건 하단의 보여지는 %ANDROID_HOME%₩ 이 부분❗

    폴더를 열어보면 알겠지만 platform-tools 내부의 adb 프로그램이 존재한다.

     

    이렇게 설정을 마무리하고 PowerShell 프로그램에 adb 명령을 수행하면 다음과 같은 화면을 볼 수 있다.

     

     

    이제 거의 다 왔다. 이제 아래 명령만 수행해주면 BlueStacks5 와 Android Studio 연결이 완성된다.

    # BlueStacks5 고급기능설정에서 확인한 포트번호
    $ adb connect 127.0.0.1:60289
    connected to 127.0.0.1:60289

     

     

    여기서 마무리해도 되지만 하나만 더 알아보자.

    만약, 나는 Android Studio 프로그램 하나에서 모든 구성을 마무리하고싶다 이런 니즈가 있다면 아래와 같이 할 수 있다.

     

    Android Studio Git bash 터미널에서 adb 실행

     

    위 설정에 대한 자세한 내용은 여기를 확인하자.

    간단히 설정한 방법만 작성해본다면, Git Bash 터미널에서 아래 명령을 사용해 구성 해주면된다.

     

    export ANDROID_HOME=~/Library/Android/sdk
    export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools

     

    본인 환경에 맞게 경로는 수정해주면된다.

     

    블루스택5 애뮬레이터 사용할 때 키보드가 안보인다면?

    • 가상 키보드 활성화 및 물리적 키보드 활성화
    • 내 화상 키보드 언어 변경하기

     

     

    위 이미지의 Settings 아이콘을 클릭해 진행할 수 있다. 여기를 확인하자.

     

     

    이렇게 에뮬레이터를 사용하는 개발자에게 조금이라도 도움이 되었으면 하는 글을 작성해보았다.

    'Android' 카테고리의 다른 글

    Jetpack compose Navigation  (0) 2023.05.04
    Jetpack compose Scaffold 와 Snackbar  (0) 2023.05.03
    Android Native App 개발 - ④  (0) 2023.04.21
    Android Native App 개발 - ③  (0) 2023.04.17
    Android Native App 개발 - ②  (0) 2023.04.17
Designed by Tistory.