본문 바로가기

프로그래밍/Delphi

[Hello World]델파이(Delphi)를 이용한 안드로이드 앱개발 1/2

1. 개요

 

  델파이 XE5 이후 안드로이드 네이티브 앱 개발이 가능해 졌다. 이전 버전에서는 아이폰/아이패드의 개발이 직접적으로 가능했었지만 이에 대한 보완과 더불어 직관적인 안드로이드 앱 개발이 가능해 짐에 따라, 델파이를 이용한 안드로이드 앱 개발 과정을 알아 보자.


  델파이를 이용한 안드로이드 앱 개발을 시작하기 위한 단계는 다음과 같다.

  • 1단계 : Delphi XE 최신 버전 설치(가급적이면 최신 버전이 좋지 않은가?)
  • 2단계 : Android SDK/NDK 설치/구성 + 자바(JDK)설치(시스템 환경설정 옵션 PATH에 실행 경로 지정)
  • 3단계 : 안드로이드 에뮬레이터 실행
  • 4단계 : 안드로이드 APP 개발
  • 5단계 : 안드로이드 APP 어플리케이션 테스트



2. 1단계/2단계 : Delphi XE 최신버전 설치하기 / SDK 구성하기


  • Raid Studio 또는 Delphi XE6를 설치하면 기본 옵션으로 안드로이드 개발을 위한 모듈이 자동으로 설치 된다.




  • JAVA 기본 설치 경로

 C:\Program Files\Java\jdk1.7.0_25

  • Android Software Development Kit(SDK) 기본 설치 경로 - "내문서"가 아닌 "공용문서" 경로에 설치됨

     C:\Users\Public\Documents\Embarcadero\Studio\14.0\PlatformSDKs\adt-bundle-windows-x86-20131030

    • Android Native Development Kit(NDK) 기본 설치 경로

     C:\Users\Public\Documents\Embarcadero\Studio\14.0\PlatformSDKs\android-ndk-r9c

      • 간혹 에뮬레이터를 이용해 디버깅시 "zipalign.exe"가 없어서 실행하지 못하는 경우가 있는데 간혹 자동 설치시 이 파일이 누락 되는 경우가 있으니 체크 바람

      다음과 같은 오류 메시지가 발생하며 에뮬레이터로 실행이 안됨.

      . [PAClient Error] Error: E2820 Could not find program, 'C:\Users\Public\Documents\Embarcadero\Studio\14.0\PlatformSDKs\adt-bundle-windows-x86-20131030\sdk\tools\zipalign.exe


      . zipAlign.exe을 찾을 수 없는 경우는 DelphiXE6를 설치 후 "Android Tools" 실행 후 다음과 같이 ""Android SDK Tools to Version 23.0.2"와 "Android SDK Platform-tools to version 20"으로 업그레이드 했을 경우 사라진다.

      . Delphi XE6 최초 설치시에는 "ZipAlign.exe" 파일이 존재하는데 업데이트 하면서 사라짐


      해결방안은 다음과 같이 하면 된다.

      1. SDK Manager를 실행하여 "Android SDK Tools to version 23.0.2"과 "Android SDK Platform-tools to version 20"으로 업그레이드 한다.
      2. 목록중에 "Android SDK Build-tools version 20"을 설치한다.

      SDK Manager with Build-tools 20.0.0

      1. "Tools | Options | Environment Options | SDK Manager"를 선택하여 업데이트 된  ZipAlign 경로를 "Build-Tools 20" 디렉토리로 지정한다.  RAD Studio XE6의 기본 경로는 "C:\Users\Public\Documents\Embarcadero\Studio\14.0\PlatformSDKs\adt-bundle-windows-x86-20131030\sdk\build-tools\20.0.0\zipalign.exe" 이다.

      Tools Options - Updated ZipAlign location

       



      3. 3단계 : 안드로이드 에뮬레이서 실행하기


      • 안드로이드 에뮬레이터를 이용하여 APP을 테스트하고자 할 경우에는 안드로이드 에뮬레이터를 미리 실행 시켜 놓는 것이 정신 건강에 좋다(에뮬레이서 로딩 시간이 인내심을 필요로 할 만큼 느리다)
      • 안드로이드 에뮬레이터는 특정 디바이스별로 커스터머이징 된 가상 디바이스(AVD - Android Virtual Device) 개념으로 실행 된다.
      • 설치된 Android SDK 버전을 이용하여 각 단말기별 화면 크기 및 메모리등 실행 특성 값을을 지정하여 고유의 테스트 단말 에뮬레이터를 만들 수 있는데 이것을 할 수 있는 도구가 "Android AVD Manager"이다.
      • 에뮬레이터를 생성하기 전에 안드로이드 이미지가 설치 되어 있어야 하는데 각 CPU별로 지정된 이미지가 준비 되어 있다. 이는 앞에서 살펴 보았던 "SDK Manager"에서 필요한 이미지를 설치하면 된다
      • 예를 들어서 "ARM EABI v7a System Image" / "Intel x86 Atom System Image"등이 있고, 안드로이드 TV를 위한 이미지로 "Android TV ARM EABI v7a System Image", 웨어러블 이미지로 "Android Wear ARM EABI v7a System Image" 등이 있으니 적당한 에뮬레이터 시스템 이미지를 선택하여 설치해 놓으면 된다.

        안드로이드 에뮬레이터 시작하기
      • SDK Manager의 Tool 메뉴에서 Manage AVD를 선택하면 AVD Manager창이 나오며 나만의 AVD를 생성/수정/삭제등의 관리를 할 수 있다.
      • 예로 LG Optimus GPro 버전의 에뮬레이터를 만들었는데 Device사이즈는 직접 만들 수 있으나 최근 FullHD 버전의 모바일에 대응할 수 있도록 미리 "Nexus 5(4.95", 1080 x 1920: xxhdpi)"가 마련되어 있어서 이를 선택하여 만들었다.
      • 해당 모바일의 OS 버전은 Android 4.4.2 이므로 "Target"을 "Android 4.4.2 - API Level 19" 버전을 선택하였다.


      • 실행하고자 하는 AVD를 선택 후 "Start" 버튼을 클릭하면 다음과 같이 실행 옵션창이 나오는데 스케일조정을 할 수 있으며 "Launch" 버튼을 클릭하여 에뮬레이터를 최종 실행할 수 있다.
      • 에뮬레이터 실행 시간이 상상외로 오래 걸린다.(1분 쯤 기다려 보자) 다음과 같은 화면이 멈춰져서 로딩이 안되는것 처럼 보이지만 로딩 중이니 인내심을 가지고 기다려 보자 - 전원버튼등 로딩될때까지 건들지 말것



      계속 : [Hello World]델파이(Delphi)를 이용한 안드로이드 앱개발 2/2