이 리포트는 안드로이드 개발 환경 구축 및 파일 전송 방법을 설명합니다. USB 케이블을 이용한 스마트폰과 컴퓨터간의 연결 및 파일 전송, 안드로이드 스튜디오와 SDK 설치 방법에 대해 다룹니다. 또한, AOSP 빌드 환경 설정과 플래시 가능한 이미지 생성 방법, Fastboot와 같은 도구의 활용법도 자세히 안내합니다. 독자들은 이를 통해 안드로이드 개발에 필요한 기초 지식을 쌓고, 앱 개발 및 커스텀 ROM 설치 과정에서 중요한 기술을 익힐 수 있습니다.
USB 케이블을 사용하여 스마트폰을 컴퓨터에 연결합니다. 이 USB 케이블은 데이터 선이 있는 케이블이어야 합니다(모든 케이블이 그런 것은 아닙니다). 스마트폰에서 충전 아이콘이 표시되어야 하며, 이를 확인한 후 알림을 확인합니다. 알림을 아래로 스크롤하여 '충전 모드'로 연결되었다는 알림을 찾습니다. 이 알림을 클릭한 후 파일 전송 모드(MTP 또는 유사한 모드)로 설정합니다. 이제 대부분의 데스크탑 환경에서 스마트폰이 감지됩니다.
파일 전송을 원할 경우, 스마트폰을 USB로 연결한 상태에서 파일 전송 모드로 전환해야 합니다. 일반적으로 스마트폰 알림 바의 'USB 옵션'을 통해 설정할 수 있으며, 파일 전송 모드가 활성화되면 다양한 응용 프로그램을 통해 파일을 전송할 수 있습니다. KDE Connect와 같은 응용 프로그램은 안드로이드 기기를 KDE 또는 Gnome 데스크탑과 통합하여 알림 동기화, 클립보드 공유, 멀티미디어 제어 및 URL 공유와 같은 기능을 제공합니다.
안드로이드 스튜디오는 공식 안드로이드 개발 환경으로, IntelliJ IDEA를 기반으로 하고 있습니다. 안드로이드 스튜디오는 개발 및 디버깅을 위한 통합 개발 도구를 제공합니다. 설치는 'android-studioAUR' 패키지를 통해 가능합니다. 베타 버전은 'android-studio-betaAUR', 카나리 버전은 'android-studio-canaryAUR'를 설치하여 사용할 수 있습니다. 안드로이드 스튜디오가 설치되면, 기본적으로 사용자의 홈 디렉토리에 .android 디렉토리가 생성됩니다. 안드로이드 스튜디오를 초기화하려면 이 디렉토리를 삭제하면 됩니다.
안드로이드 스튜디오의 설정 마법사에서는 필요한 SDK 패키지를 설치하며, 기본적으로 SDK는 ~/Android/Sdk 경로에 설치됩니다. 각종 SDK 패키지는 안드로이드 스튜디오의 SDK 관리자 또는 sdkmanager 명령 줄 도구를 통해 설치할 수 있으며, AUR 패키지를 통해서도 제공됩니다. 필요한 SDK 패키지는 다음과 같습니다: 1) Android SDK 패키지, 2) CLI 도구 (android-sdk-cmdline-tools-latestAUR), 3) 빌드 도구 (android-sdk-build-toolsAUR), 4) 플랫폼 도구 (android-sdk-platform-toolsAUR) 입니다. 'ANDROID_HOME' 환경 변수를 SDK 경로로 설정하여 커맨드라인에서 앱을 빌드할 수 있습니다.
안드로이드 버전에 따라 필요한 JDK 버전이 다릅니다. Android 9 (파이) 및 이후 버전에는 JDK가 안드로이드 소스에 포함되어 있어 별도의 설치가 필요하지 않습니다. Android 7과 8 (누가 및 오레오)에서는 OpenJDK 8이 필요하며, 이는 jdk8-openjdk 패키지로 설치할 수 있습니다. JAVA_HOME을 설정하여 이 요구사항을 피할 수 있으며, 아치 리눅스의 설치 경로와 맞춰야 합니다. 예시로, 'export JAVA_HOME=/usr/lib/jvm/java-version-openjdk' 명령으로 설정할 수 있습니다. 이 변경 사항은 현재 터미널 세션에만 유효합니다.
AOSP 빌드 환경을 준비하기 위해서는 먼저 repo 패키지를 설치하고, 빌드를 위한 디렉토리를 생성해야 합니다. 예를 들어, 홈 디렉토리에 'android'라는 디렉토리를 만들고 해당 디렉토리로 이동합니다.
소스 코드를 다운로드하기 위해 repo 명령어를 사용합니다. 첫 번째 빌드 시 또는 브랜치를 전환하려는 경우에만 소스 코드를 클론합니다. repo 초기화 명령어는 다음과 같습니다: $ repo init -u https://android.googlesource.com/platform/manifest -b master. 이후 $ repo sync -j4 명령어로 소스 코드를 다운로드합니다. 이 과정에서 최소 250GB의 여유 디스크 공간이 필요합니다.
로컬 저장소를 동기화하려면, 빌드 디렉토리로 이동한 후 다음 명령어를 실행합니다: $ source build/envsetup.sh. 이 후 블렌드 목록에 따라 실행하려면, $ lunch full-eng 명령어를 사용하여 어떤 빌드를 만들 것인지 선택합니다. 빌드가 완료되면, 마지막 이미지 파일을 실행하거나 테스트할 수 있습니다.
플래시 가능한 이미지를 생성하기 위해 다음의 커맨드를 사용합니다: `make -j8 updatepackage`. 이 과정에서 `out/target/product/hammerhead` 디렉토리에 플래시 가능한 zip 이미지가 생성됩니다.
Fastboot 및 ADB는 안드로이드 도구 패키지에 포함되어 있습니다. Fastboot를 사용하여 장치에 이미지를 플래시할 수 있지만, 삼성 기기는 Fastboot 방식으로 플래시할 수 없습니다. 대신, Heimdall이나 Odin 같은 대체 도구를 사용할 수 있습니다. Heimdall은 오픈 소스 도구로, 삼성 기기에 펌웨어(ROM)를 플래시하는 데 사용됩니다.
삼성 장치를 플래시할 때는 Heimdall과 Odin을 사용할 수 있습니다. Heimdall은 크로스 플랫폼 도구이며, GitHub에서 플래싱 지침을 찾을 수 있습니다. Odin은 VirtualBox 내에서 삼성 기기의 펌웨어를 복원하는 데 사용될 수 있습니다.
리포트는 안드로이드 개발을 위한 환경 설정과 파일 전송에 대한 전반적인 과정을 설명합니다. 안드로이드 스튜디오 설치, USB 케이블을 통한 기기 연결, AOSP 빌드 환경 구축, Fastboot 도구 활용 등의 세부적인 과정을 통해 개발자는 안드로이드 애플리케이션 개발과 커스텀 ROM 플래싱을 더 효율적으로 수행할 수 있습니다. 그러나 특정 안드로이드 버전에 국한된 정보만 제공되기 때문에, 다른 버전의 경우 추가적인 요소를 고려해야 하며, 발생할 수 있는 문제에 대한 다양한 해결책을 스스로 찾을 필요가 있습니다. 향후, 리포트는 사용자 친화적으로 다양한 버전과 배포판에 대한 포괄적인 정보를 포함하고, 실제 사례 기반의 문제 해결 방법을 제시하여 개발자들이 실무에서 직면할 수 있는 어려움을 줄이도록 보완될 수 있을 것입니다.
출처 문서