메뉴 건너뛰기

자료실

DATA

******* 안드로이드 어플 배포방법 ********

 

- expo bare 테스트 완료된 버전입니다.

- 바닐라 리액트네이티브에서도 먹습니다.

 

1. 우선 android/app/src/main/assets 폴더가 존재하지 않으면 생성 한다

 

2. 아래와 같은 명령어로 번들파일을 생성 한다

 

 

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/

 

 

3. Android Studio를 실행하여 몇가지 작업을 수행한다

- 만일, 다국어 지원을 경우 strings.xml 생성

- strings.xml에서 앱 이름을 변경

- 아이콘을 추가한 후 정보를 변경

- package 패스 변경 (아래 설명에 따라)

 

 

A. 소스에서 패키지명 일괄 변경 

 

   ex) package MY.APP.NEW_ID;

 

B. android/app/src/main/AndroidManifest.xml 파일에서 수정

  package="MY.APP.NEW_ID"

 

C. android/app/build.gradle 파일에서 수정

  applicationId "MY.APP.NEW_ID"

 

D. android/app/BUCK 파일에서 수정

  android_build_config(

    package="MY.APP.NEW_ID"

  )

 

  android_resource(

    package="MY.APP.NEW_ID"

  )

 

E. 마지막으로 android 폴더로 가서 CMD 실행 후 클린 작업 실행

  ./gradlew clean 

 

 

4. 만일 이렇게 작업 후에 다시 react-native 로 소스를 컴파일 하여 실행시에 오류가 발생할 수 있다. 그러면 android 폴더로 가서 CMD 실행 후 클린 작업 실행

 

 

./gradlew clean

 

+영준추가 

-> 콘솔에 오류값확인하고 체크하시는거 잊지마세요.

-> 릴리즈 뽑으실때 웹뷰주소 https 아니면 애러납니다.

 

5. 테스트용일때 -> 좀 빠르게 뽑고싶다면

-> 안드로이드 스튜디오 build -> build apk

{$해당어플이름}\android\app\build\outputs\apk\debug

에서 

app-debug.apk 다운 받아 배포하시면 됩니다.

 

6. [react-native] 안드로이드 signed apk 만드는 방법

 
A. 키스토어 생성

 

1
keytool -genkey --keystore <YOUR_KEYSTORE_NAME>.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
 
cs

 

 

B. 생성된 키스토어 파일을 android/app 경로 내에 넣음

 

 

C. gradles.properties에 다음 코드를 넣음

 

1
2
3
4
MYAPP_RELEASE_STORE_FILE=<YOUR_KEYSTORE_NAME>.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=<YOUR_PASSWORD>
MYAPP_RELEASE_KEY_PASSWORD=<YOUR_PASSWORD>
cs

 

 

D. app/build.gradle에 다음 코드를 넣음

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
...
android {
    ...
    defaultConfig { ... }
    signingConfigs {
        release {
            if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
                storeFile file(MYAPP_RELEASE_STORE_FILE)
                storePassword MYAPP_RELEASE_STORE_PASSWORD
                keyAlias MYAPP_RELEASE_KEY_ALIAS
                keyPassword MYAPP_RELEASE_KEY_PASSWORD
            }
        }
    }
    buildTypes {
        release {
            ...
            signingConfig signingConfigs.release
        }
    }
}
...
cs

 

 

 

E. 다음 명령어를 통해 개발자 모드를 끈다.

 

1
2
3
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/
cs
 

E. 다음 명령어를 통해 release apk를 빌드한다.

 

 

1
cd android && ./gradlew assembleRelease
cs
 

F. app-release.apk 파일은 android/app/build/outputs/apk/release 경로에서 찾을 수 있다.

 

출처[ https://iam.holy.kiwi/6 ]

 

 

출처: 

https://blog.miyam.net/69 [낭만 프로그래머]

번호 제목 글쓴이 날짜 조회 수
20 우분투 mod_rewrite사용하기 소프터 2020.03.18 1
19 [CodeIgniter] index.php 제거 소프터 2020.03.18 1
18 MariaDB 루트 접근 1698 에러날때 소프터 2020.03.18 0
17 우분투16 php-mbstring 설치 mysql mbstring 에러 잡을때 소프터 2020.03.18 1
16 우분투 16.04 에서 아파치 실행 APM 설치하는법 소프터 2020.03.18 2
15 아파치 셋팅후 php 생략방법 소프터 2020.03.18 0
» ******* 리액트 네이티브 안드로이드 어플 배포방법 ******** 소프터 2020.03.10 9
13 2020 03 06 리액트 네이티브 스텍 소프터 2020.03.06 4
12 안드로이드 스튜디오 Module not specified 오류시 소프터 2020.01.07 3
11 무료이면서도 빠른 JS/CSS CDN 서버 소프터 2019.10.17 10
10 JS OPEN CND 라이브러리 다운받을 수 있는곳 소프터 2019.10.17 3
9 [CSS]폰트와 관련된 속성 소프터 2019.09.17 3
8 [개발환경] 아톰에디터 ftp 느려지는 경우 소프터 2019.09.17 15
7 [CSS]구글 웹폰트 익스에서 안깨지게 하는법 file 소프터 2019.09.06 5
6 [폰트]웹폰트 불어오기 편한 사이트 소프터 2019.09.05 5
5 [CSS] CSS 애니메이션 참고 사이트 소프터 2019.09.05 4
4 [그누보드]관리자 패스워드,비밀번호 분실했을때 간단하게 변경방법 소프터 2019.09.05 3
3 [PHP] 마커 계산 라이브러리 소프터 2019.08.14 22
2 [css] 글자간에 자간 설정 소프터 2019.08.13 10
1 [제이쿼리] input name 으로 선택 소프터 2019.08.12 7