최근 Google AI Studio에서 간단한 캘린더 앱을 만들었는데, 이걸 내 손으로 직접 APK 파일로 만들어 안드로이드 기기에 설치할 수 있다는 사실에 꽤나 신기했어요. 마치 게임 캐릭터를 커스터마이징해서 나만의 플레이 경험을 만드는 것처럼, 기술적인 부분을 조금만 건드리면 앱도 얼마든지 나만의 것으로 만들 수 있다는 점이 매력적이거든요.

Google AI Studio


이 과정이 생각보다 복잡하지 않다는 걸 직접 경험했고, 여러분도 충분히 따라 할 수 있다는 걸 알려드리고 싶어서 글을 쓰게 되었답니다. 주말에 게임 실력을 갈고 닦거나, 필드의 컨디션을 분석하는 것처럼, 새로운 기술을 배우는 것도 나만의 루틴을 만들어가는 즐거움이 있잖아요.

Expo로 프로젝트 환경 설정하기

Google AI Studio에서 받은 `app.tsx`와 `package.json` 파일을 기반으로, Expo를 이용해 React Native 프로젝트를 시작할 거예요. 기존 폴더 구조를 그대로 유지하면서 `calendar-app`이라는 이름으로 프로젝트를 설정하는 게 중요해요. 새로운 폴더를 만들 필요 없이, 지금 작업 중인 공간에서 바로 진행하면 됩니다.

이때 Expo CLI가 설치되어 있지 않다면, 먼저 설치해 주셔야 해요. 저는 이미 설치되어 있어서 바로 다음 단계로 넘어갔답니다.


AI Studio 앱 파일 통합 및 의존성 설치

AI Studio에서 생성된 `app.tsx` 파일을 그대로 가져와서 새 Expo 프로젝트의 `app.tsx` 파일과 교체해 주세요. 그리고 `package.json`에 명시된 모든 의존성들을 Expo 프로젝트의 의존성과 병합한 후, npm이나 yarn 명령어를 사용해 설치해 줍니다. 이 과정에서 누락되는 라이브러리가 없도록 꼼꼼히 확인하는 것이 좋아요.

이 단계에서 프로젝트에 필요한 모든 라이브러리가 제대로 설치되어야 이후 빌드 과정이 순조롭게 진행될 수 있습니다.


Android 네이티브 빌드를 위한 사전 준비

`expo prebuild` 명령어를 실행하면, Android와 iOS 각각의 네이티브 빌드 폴더가 자동으로 생성됩니다. 저희의 주된 목표는 안드로이드 앱 APK를 얻는 것이므로, 이 과정에서 `android/` 폴더가 제대로 생성되는지 확인하는 데 집중해야 해요.

이때 패키지 이름을 설정하게 되는데, 보통은 `com.yourdomain.appname`과 같이 역으로 된 도메인 형식을 사용합니다. 제가 쓴 예시에서는 `(Your reverse domain here)`라고 표시된 부분에 여러분의 고유한 도메인 이름을 넣어주시면 됩니다.


앱 아이콘과 빌드 설정 점검

앱 아이콘은 제가 직접 준비한 1024x1024 크기의 이미지를 사용할 것이므로, 이번 단계에서는 별도로 생성하지 않습니다. 하지만 `android/app/src/main/AndroidManifest.xml` 파일과 `android/app/build.gradle` 파일을 꼼꼼히 검토해야 합니다. 이 파일들은 앱의 핵심 설정 정보를 담고 있어서, 오류가 있다면 빌드 과정에서 문제가 발생할 수 있기 때문이죠.

혹시 모르니, XML 파일의 문법 오류나 누락된 설정이 없는지 다시 한번 확인하는 습관이 중요합니다.


Android Studio 연동 준비 완료

모든 설정이 완료되면, `android/` 폴더는 Android Studio에서 프로젝트를 열어 즉시 빌드할 수 있는 상태가 됩니다. 마치 게임을 하기 전에 컨트롤러를 연결하고 설정을 마치는 것처럼, 이제 개발 환경이 완성된 셈이죠.

만약 `gemini` 관련해서 VSC에서 문제가 발생한다면, Expo CLI가 제대로 설치되었는지, 그리고 `npx expo start` 명령어로 개발 서버가 정상적으로 실행되는지 먼저 확인해 보세요. React Native 공식 문서에서도 환경 설정에 대한 자세한 안내를 얻을 수 있습니다.


나만의 앱, APK로 완성하기

이렇게 모든 과정을 거치면, Google AI Studio에서 만든 앱을 나만의 APK 파일로 만들 준비가 끝납니다. 복잡해 보일 수 있지만, 하나씩 차근차근 따라가면 초보자도 충분히 해낼 수 있다는 걸 알게 되실 거예요.

제 경험상, 직접 앱을 만들어보고 APK까지 추출해보는 경험은 기술에 대한 이해도를 높여줄 뿐만 아니라, 무언가를 '완성했다'는 뿌듯함을 선사해 줍니다. 앞으로 여러분도 이런 과정을 통해 자신만의 특별한 앱을 만들어나가시길 바랍니다!