강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

심재화님의 프로필 이미지
심재화

작성한 질문수

React Native with Expo: 제로초에게 제대로 배우기

Expo Orbit

EAS서비스 없이 로컬에서 빌드할 수 있을까요?

작성

·

208

0

EAS서비스 없이 react native처럼 로컬에서 빌드해서 사용 할 수 있는 방법이 있는지 궁금합니다.

답변 2

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

eas 빌드 명령어 뒤에 —local붙이셔도 되고 그냥 npx expo run:android 하셔도 로컬 빌드입니다!

심재화님의 프로필 이미지
심재화
질문자

eas build —local붙이면 apk add ipa 파일 생성된다는 말씀이시죠
감사합니다.

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

네네 각 —platform은 적어주셔야 하고 윈도우에서는 ios 빌드는 불가능합니다

심재화님의 프로필 이미지
심재화
질문자

기존에 스토어에 배포한 네이티브 앱이 있는데 웹뷰만 있고 특별한 기능이 없는 앱인데

지금은 Expo로 웹뷰만 추가 했고 추후에 몇 가지 기능을 추가하여 다시 배포를 할려고 합니다.

 

기존에 스토어에 사용하던 package name을 app.json에 설정하고 eas.json에 keystore와 bundle identifier를 설정하여

eas build --platform android --local 및 eas build --platform ios --local로 로컬 빌드를 할려고

알려주신 내용으로 검색을 해봤지만 설정이 잘 되지 않아 어려움이 있어서...

그리고 현재 애플 개발자 계정이 만료된 상태이긴 하지만 일단 로컬 빌드만 하는건 가능할 걸로 생각하는데..

 

eas.json 파일에 keystore와 bundle identifier를 설정하는 방식으로 검색하고 있는데 이 방식이 맞는지 질문 드립니다.

혹시 유용한 사이트가 있다면 추천해주시면 정말 감사하겠습니다.

 

바쁘신 와중에 시간을 내어 답변해주셔서 감사드리고 계속 질문을 드리게 되어 죄송합니다

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

eas.json은 로컬 빌드용이 아니라 클라우드 빌드 용입니다. 로컬 빌드를 하실 거라면

https://docs.expo.dev/versions/latest/sdk/build-properties/

이걸 사용해서 android/gradle.propertiesios/Podfile.properties.json 이걸 수정하신 후 빌드하실 수 있고요. 이것만으로 해결이 되면 좋겠지만 만약 이것 이외의 파일을 건드려야 한다면

npx expo prebuild 명령어로 android와 ios 폴더를 직접 생성하시고, 해당 네이티브단 수정한 후 로컬 빌드 진행해주셔야 합니다.

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

단순히 키스토어 경로만 추가하시는 거면

https://docs.expo.dev/app-signing/local-credentials/

이렇게 credentials.json을 추가하셔도 됩니다.

https://docs.expo.dev/app-signing/local-credentials/#setting-a-credentials-source

여기서 production의 android.credentialsSource를 local로 설정하셔야 하고요.

0

안녕하세요, 인프런 AI 인턴입니다. 심재화님.

React Native와 Expo를 이용할 때, EAS(Expo Application Services)를 사용하지 않고 로컬에서 직접 빌드하는 방법에 대해 궁금하신 것 같습니다. 일반적으로 Expo는 빌드 과정을 단순화하기 위해 EAS를 활용하지만, 로컬에서 직접 빌드하고자 한다면 expo eject를 사용하여 Expo 관리 프로젝트를 일반 React Native 프로젝트로 변환할 수 있습니다.

  1. eject 명령어 사용:

    • 먼저, 프로젝트 디렉토리에서 expo eject 명령어를 실행합니다. 이는 프로젝트를 Expo 관리에서 벗어나 독립적인 React Native 프로젝트로 변환합니다.
    • 이 과정에서는 Android 및 iOS에 필요한 네이티브 구성 파일이 생성됩니다.
  2. Xcode 및 Android Studio 설정:

    • iOS 빌드를 위해 Xcode가 필요합니다. Xcode 내에서 프로젝트를 열고, 시뮬레이터나 실제 디바이스로 실행할 수 있습니다.
    • 안드로이드 빌드를 위해서는 Android Studio가 필요합니다. Android Studio 내에서 프로젝트를 열고, Android Emulator 또는 실제 디바이스로 실행할 수 있습니다.
  3. 주의사항:

    • eject 이후에는 Expo SDK의 일부 기능을 사용할 수 없게 되거나 직접 관리해야 할 수도 있습니다.
    • 네이티브 모듈을 직접 추가 및 관리하려면 시간이 소요될 수 있으니 빌드 과정 중 문제 해결을 위한 자료조사가 필요할 수 있습니다.

관련 정보를 좀 더 깊이 이해하고자 하신다면 아래의 링크를 참조해 주세요:
- Expo eject documentation

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

심재화님의 프로필 이미지
심재화

작성한 질문수

질문하기