바르고 뜨겁게

React-native Android release Build APK 생성 본문

자바스크립트/React Native

React-native Android release Build APK 생성

RightHot 2019. 10. 4. 13:01

React-native Android release Build APK 생성

리액트 앱을 안드로이드 마켓에 출시하기위해 릴리즈 빌드 apk 만들기

  1. 서버 네트워크 통신 허용따라서 아래의 방법을 따라서 서버 ip를 허용해줘야한다.
      <?xml version="1.0" encoding="utf-8"?>
      <network-security-config>
        <domain-config cleartextTrafficPermitted="true">
          <domain includeSubdomains="true">[ 아이피 추가 ]</domain>
        </domain-config>
      </network-security-config>
    /android/app/src/main/AndroidManifest.xml
  2. <application android:networkSecurityConfig="@xml/react_native_config" ... > </application>
  3. Android/app/src/release/res/xml/react_native_config.xml
  4. 안드로이드 릴리즈 빌드에선 암호화 되지 않은 않은 서버의 http 통신은 차단된다.
  5. 매니페스트 수정/android/app/src/main/AndroidManifest.xml
  6. <application ... android:usesCleartextTraffic="true" // <-- added this ...> ... </application>
  7. 네트워크 트래픽 여부 true 로 설정
  8. 빌드
      cd android
      ./gradlew assembleRelease -x bundleReleaseJsAndAssets
     cd android
     ./gradlew bundleRelease
    
     cd android
     ./gradlew app:assembleRelease
  9. react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
  1. ERROR

Error: ENOENT: no such file or directory, open 'android/app/src/main/assets/index.android.bundle'

에러시

mkdir android/app/src/main/assets

rm -rf ./android/app/src/main/res/drawable-*

rm -rf ./android/app/src/main/res/raw

 

 

  1. keytool -genkey -v -keystore your_key_name.keystore -alias your_key_alias -keyalg RSA -keysize 2048 -validity 10000

 

 

yarn react-native bundle --reset-cache --entry-file index.js --platform ios --bundle-output test.bundle --dev false

Comments