을왕라의 정리함

RN - 안드로이드 배포용 APK생성하기 본문

리액트 네이티브

RN - 안드로이드 배포용 APK생성하기

을왕라 2021. 5. 31. 20:26

1.키 스토어 생성

먼저 키 스토어를 생성해 준다.

더보기

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

[your_key_name]와 [your_key_alias]에 원하는대로 작성한다. 

추가 정보들을 입력해 준다.

더보기

Enter your keystore password: ********

Re-enter new password: ********

What is your first and last name? [unknown]: first last

What is the name of your organizational unit? [unknown]: company dev

What is the name of your organization? [unknown]: company

What is the name of your city or Locality? [unknown]: korea

What is the name of your State or Province? [unknown]: seoul

What is the two-letter country code for this unit? [unknown]: KR

그러면 [name].keystore파일이 생성되는데 한번 스토어에 등록된 키스토어 파일은 변경이 불가능하니 잘 간직하도록 하자.

 

프로젝트 상위에 생성된 키스토어파일을 /android/app폴더로 옮겨준다.

더보기

mv [name].keystore ./android/app

 

2. gradle config

~/.gradle/gradle.properties 또는 android/gradle.properties파일에 다음을 추가한다.

더보기

MYAPP_UPLOAD_STORE_FILE=[name].keystore

MYAPP_UPLOAD_KEY_ALIAS=[alias-name]

MYAPP_UPLOAD_STORE_PASSWORD=********

MYAPP_UPLOAD_KEY_PASSWORD=********

 

android/app/build.gradle 파일에 해당 release들을 추가한다.

...
	android {
    	...defaultConfig { ... } 
        signingConfigs {
    	    release {
            	if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) {
                    storeFile file(MYAPP_UPLOAD_STORE_FILE) 
                    storePassword MYAPP_UPLOAD_STORE_PASSWORD 
                    keyAlias MYAPP_UPLOAD_KEY_ALIAS 
                    keyPassword MYAPP_UPLOAD_KEY_PASSWORD 
                }
            } 
        } 
        buildTypes {
	    release {
            	... 
            	signingConfig signingConfigs.release 
            }
        } 
    } 
...



3. Apk(aab)생성 

/android폴더로 이동한 뒤 해당 명령 실행 

더보기

abb파일 생성

./gradlew bundleRelease

 

apk파일 생성

./gradlew app:assembleRelease

4. play store console에 등록

드래그&드롭으로 등록하고 테스트 진행 후 사용하면 된다.

새로운 버전으로 바꿀 때는 /android/app/build.gradle에서 

versionCode, versionName 두 개를 하나씩 올려주며 새로 빌드하면 된다.

 

 

[출처]

https://velog.io/@dear_sopi9211/react-native-%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-APKAAB-%ED%8C%8C%EC%9D%BC-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0

 

[react-native] 안드로이드 APK(AAB) 파일 생성하기📱

Production test build 하기 전에 먼저 해당 프로젝트 에뮬레이터 또는 Android device에서 성공적으로 컴파일이 되고 실행이 되고 오류는 없는지 확인한 후 진행하여야 합니다. 1. key store 생성 Android 용 Rea

velog.io

 

에러

에러가 발생했지만 어떤 에러인지도 알수가 없었다.  아래 명령어를 추가함으로 에러를 다시 확인했다.

./gradlew bundleRelease --warning-mode all

 

Error: Duplicate resources

흔히 발생하는 에러인지 구글에서 쉽게 발견할 수 있었다.

/android/app/src/main/res 에 있는 drawable이라고 시작하는 다양한 파일들을 모두 지우고 다시 도전했다.

[출처]

https://ppost.tistory.com/entry/ReactNative-apk-%EC%83%9D%EC%84%B1%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95

 

[React-Native] apk 생성하는 방법(+@ 오류 발생 시 대처법)

번거롭게 어쩌고저쩌고 다 제끼고 바로 본론 apk를 만들 프로젝트 폴더로 이동(index.js 혹은 index.android.js가 있는 루트폴더) 프로젝트 폴더에 index.js가 있을 경우 react-native bundle --platform android..

ppost.tistory.com

성공하는 듯 싶었으나 다시 한 번 Error: Duplicate resources 에러가 발생 했다. 

콘솔을 차근히 읽어보니 /android/app/src/main/res/raw 폴더안에 왜때문에 생긴지 모르는 json파일들이 때문이었고 

json파일들까지 제거해주니 성공적으로 apk | abb파일 생성 성공

 

Comments