다음을 통해 공유


Android용 React 네이티브 앱 빌드

Important

Visual Studio App Center는 2025년 3월 31일에 사용 중지될 예정입니다. 완전히 사용 중지될 때까지 Visual Studio App Center를 계속 사용할 수 있지만 마이그레이션을 고려할 수 있는 몇 가지 권장 대안이 있습니다.

지원 타임라인 및 대안에 대해 자세히 알아봅니다.

App Center는 React Native 버전 0.34 이상에서 React Native 앱을 빌드할 수 있습니다.

첫 번째 React 네이티브 Android 앱 빌드를 시작하려면 다음을 수행해야 합니다.

  1. 리포지토리 서비스 계정(GitHub, Bitbucket, VSTS, Azure DevOps)에 연결합니다.
  2. 앱이 있는 리포지토리 및 분기를 선택합니다.
  3. 빌드하려는 프로젝트를 package.json 선택합니다.
  4. 첫 번째 빌드를 설정합니다.

참고 항목

실제 디바이스에서 앱을 실행하려면 빌드가 유효한 인증서로 서명된 코드여야 합니다.

1. 리포지토리 연결

이전에 리포지토리 서비스 계정에 연결하지 않은 경우 먼저 이 작업을 수행해야 합니다. 계정이 연결되면 React Native 프로젝트가 있는 리포지토리를 선택합니다. 리포지토리에 대한 빌드를 설정하려면 관리자 및 끌어오기 권한이 있어야 합니다.

2. 분기 선택

리포지토리를 선택한 후 빌드할 분기를 선택합니다. 기본적으로 App Center는 모든 활성 분기를 나열합니다.

3. 첫 번째 빌드 설정

첫 번째 빌드 전에 React Native 프로젝트를 구성해야 합니다.

3.1. 프로젝트

프로젝트의 .를 package.json선택합니다. App Center는 종속성, 빌드 도구 버전, 빌드 유형 및 제품 버전을 포함하여 연결된 build.gradle (앱 수준) 파일에서 자동으로 정보를 추출합니다.

참고 항목

최상의 성능을 위해 분석은 현재 리포지토리의 루트를 포함하여 4개의 디렉터리 수준으로 제한됩니다.

3.2. 빌드 변형

사용 가능한 빌드 변형은 프로젝트의 build.gradle (앱 수준) 파일에 지정된 빌드 형식 및 제품 버전에서 채워집니다. 빌드할 빌드 변형을 선택합니다.

참고 항목

App Center Build는 빌드 유형(디버그, 릴리스 또는 사용자 지정 정의)과 하나의 선택적 Product Flavor의 조합으로 빌드 변형을 찾을 수 있습니다. 현재는 여러 제품 맛의 조합 검색이 지원되지 않습니다.

3.3. Node.js 버전

빌드에 사용할 Node.js 버전 선택 Node.js 버전을 선택하는 방법에 대한 자세한 정보

3.4. 빌드 트리거

기본적으로 개발자가 구성된 분기에 푸시할 때마다 새 빌드가 트리거됩니다. 이를 "연속 통합"이라고 합니다. 새 빌드를 수동으로 트리거하려는 경우 구성 창에서 이 설정을 변경할 수 있습니다.

3.5. Android 앱 번들 빌드(.aab)

Android 앱 번들은 Play 스토어에 업로드할 수 있는 배포 형식입니다. 특정 디바이스에 최적화된 APK를 생성하는 데 사용됩니다. 공식 Android 설명서에서 Android 앱 번들에 대해 자세히 알아볼 수 있습니다. 이 설명서는 일반 사용자와 함께 번들을 빌드할지 여부를 이해하는 데 도움이 됩니다. .apk.

Android 앱 번들에 대한 옵션을 토글하여 .aab .apk. build.gradle (앱 수준) 파일에 블록이 android.bundle 포함된 경우 이 옵션은 자동으로 설정됩니다.

3.6. 증분 버전 번호

사용하도록 설정하면 앱 AndroidManifest.xml 버전 코드가 각 빌드에 대해 자동으로 증가합니다. 변경 내용은 실제 빌드 중에 발생하며 리포지토리에 커밋되지 않습니다.

3.7. 실제 디바이스에서 성공적인 빌드 시작

새로 생성된 APK 파일을 사용하여 앱이 실제 디바이스에서 시작되는지 테스트합니다. 시작 테스트는 총 빌드 시간에 약 10분을 더 추가합니다. 시작 테스트를 구성하는 방법에 대해 자세히 알아보세요.

3.8. 코드 서명

빌드가 성공하면 파일과 추가 .aab 파일이 생성 .apk 됩니다(활성화된 경우). 빌드를 Play 스토어에 릴리스하려면 키 저장소에 저장된 유효한 인증서로 서명해야 합니다. 분기에서 생성된 빌드에 서명하려면 구성 창에서 코드 서명을 사용하도록 설정하고, 키 저장소를 리포지토리에 업로드하고, 구성 창에서 관련 값을 제공합니다. Android 코드 서명 App Center의 Android 코드 서명 설명서에 대해 자세히 확인할 수 있습니다. 와 .aab 동일한 자격 증명 .apk을 사용하여 서명됩니다.

3.9. 빌드 배포

이전에 만든 배포 그룹 또는 저장소 대상으로 배포되도록 분기에서 성공한 각 빌드를 구성할 수 있습니다. 새 메일 그룹을 추가하거나 배포 서비스 내에서 저장소 연결을 구성할 수 있습니다. 앱에 액세스할 수 있는 모든 사용자를 포함하는 "협력자"라는 기본 메일 그룹이 항상 있습니다.

참고 항목

Google Play 스토어에 배포하는 경우 Android 앱 번들(.aab)이 선호되며 사용하도록 설정된 경우 배포됩니다. App Center 배포 그룹 및 Intune 저장소 대상의 경우 일반 .apk 배포 그룹도 생성되더라도 .aab 사용됩니다.

4. 결과 빌드

빌드가 트리거되면 빌드는 다음 상태 중 하나에 있습니다.

  • queued - 빌드가 리소스가 해제되기를 기다리는 큐에 있습니다.
  • building - 빌드에서 미리 정의된 작업을 실행합니다.
  • 성공 - 빌드가 완료되고 성공함
  • 실패 - 빌드가 완료되었지만 실패했습니다. 빌드 로그를 다운로드하고 검사하여 잘못된 문제를 해결할 수 있습니다.
  • 취소됨 - 사용자 작업으로 인해 빌드가 취소되었거나 시간이 초과되었습니다.

4.1. 빌드 로그

완료된 빌드(성공 또는 실패)의 경우 로그를 다운로드하여 빌드가 어떻게 진행되었는지 자세히 알아보세요. App Center는 다음 파일이 포함된 보관 파일을 제공합니다.

|-- 1_build.txt (this is the general build log)
|-- build (this folder contains a separate log file for each build step)
    |-- <build-step-1>
    |-- <build-step-2>
    |--
    |-- <build-step-n> (e.g. n_Post Job Cleanup.txt)

빌드 단계별 로그(보관의 디렉터리에 있음 build/ )는 문제 해결 및 빌드 실패 이유를 파악하는 데 유용합니다.

4.2. 앱(.apk)

.apk 파일은 Android 앱을 저장하는 Android 애플리케이션 패키지 파일입니다. 빌드가 올바르게 서명된 경우 실제 디바이스에 앱을 설치하고 Play 스토어에 배포할 수 있습니다. 빌드에 서명되지 않은 경우 앱을 에뮬레이터에서 실행하거나 다른 용도로 사용할 수 있습니다.

5. 지원되는 버전 및 요구 사항

Android 앱을 빌드하는 데 지원되는 최소 버전은 5.0(API 수준 21)입니다. Android 앱은 실행하는 데 필요한 최소 API 수준이 낮을 수 있지만 적어도 API 수준 21을 대상으로 해야 합니다.

6. 빌드 팁

6.1. Yarn

Yarn 패키지 관리자는 더 빠르고 결정적인 대체입니다npm. 옆에 있는 yarn.lock 리포지 package.json토리에 파일이 있는 경우 App Center는 빌드 시작 시 Yarn yarn install 을 사용합니다. 그렇지 않으면 수행 npm install됩니다.

6.2. 사용자 지정 빌드 스크립트

App Center의 기본 빌드 명령이 실행되기 전에 스크립트를 실행하는 몇 가지 옵션이 있습니다.

  • 프로젝트 파일에 사후 설치 스크립트를 package.json 만듭니다. 이 스크립트는 종속성이 설치된 후에 자동으로 실행됩니다.

      "scripts": {
        ...
        "postinstall" : "npx jetify" // other examples: "node ./postinstall.js" or "./postinstall.sh"
      },
    
  • App Center의 사용자 지정 빌드 스크립트 기능을 사용하여 셸 스크립트를 작성합니다 .

    #!/usr/bin/env bash
    
    # Example: Authenticate with private NPM registry
    echo "//registry.npmjs.org/:_authToken=$NPM_AUTH_TOKEN" > ~/.npmrc
    
    # Example: Add your signing key file (from base64 encoded environment variable)
    base64 -d <<< "$ANDROID_JSON_KEY_FILE" > android/keystores/json_key_file.json
    

6.3. 여러 APK 빌드

Android의 React Native의 경우 유니버설 APK 생성은 기본적으로 사용하지 않도록 설정됩니다. 앱 구성이 여러 APK(예: CPU 아키텍처 또는 화면 구성마다 다른 APK)를 빌드하도록 설정된 경우 유니버설 APK도 빌드해야 합니다. App Center의 빌드 시스템은 하나의 기본 APK 파일에서 작동하며 특정 CPU/ABI 또는 화면 밀도와 관련된 모든 APK를 무시합니다.

APK 분할 및 유니버설 APK를 빌드하는 방법에 대한 자세한 내용은 해당 Android 개발자 가이드를 참조하세요. 따라서 React Native 빌드 구성에 true 대해 설정되었는지 확인 universalApk 합니다.