우분투 18.04 react-native run-android 실행 시 javax.net.ssl.SSLException 에러

by - June 27, 2018


참고




리엑트 네이티브를 시작했다.

기본 튜토리얼에서 create-react-native-app를 사용하는 예제는 쉽게 실행됐는데

바로 요놈!

react-native-cli를 써서 

react-native init [프로젝트 이름] 로 실행하는 예제는 뭐가 문제인지

실행한번 하는데 엄청나게 애를 먹였다.

우선 리액트 공식 홈페이지에서 하라는데로 다 했다는 전제하에 참고하시면 된다.

나름 다 잘 따라했다고 생각했는데 문제는 자바(jdk)였다.

JAVA_HOME 환경변수 설정이 안되어 있었다.

일단 초기에 echo $JAVA_HOME 이라고 쳤는데 아무 것도 안뜨면

환경변수 설정이 아예 안돼있는 것이다.



순서 대로 체크리스트를 만들어보자면,

1. jdk버전을 확인하자

Java Development Kit

React Native requires a recent version of the Java SE Development Kit (JDK). Download and install JDK 8 or newer if needed.
cd /usr/lib/jvm/ 를 하면 현재 설치된 jdk들을 확인 할 수 있다.

jdk8 이상의 버전이 없다면 아래 명령어로 다운 받자
sudo add-apt-repository ppa:webupd8team/java 
sudo apt-get update 
sudo apt-get install oracle-java8-installer
2. JAVA_HOME 환경 변수를 등록하기 위해
cd ~ 를 하여 홈으로 이동하고
숨김 파일인 .bashrc를 수정하자.
튜토리얼에는 $HOME/.bash_profile이라고 되어 있지만
18.04에서는 저 파일이 없어서 알아보니 bashrc를 수정하면 된다.

나는 vim을 쓰므로
vim .bashrc 라고 입력했다. nano나 다른 편집기를 사용해도 좋다.
그리고 아래 명령어를 .bashrc 맨 밑에다 적어준다.
물론 공식 홈페이지에서 말한

export ANDROID_HOME=$HOME/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools
얘네도 필수적으로 들어가야 한다.

export JAVA_HOME="/usr/lib/jvm/java-8-openjdk"
export PATH=$JAVA_HOME/bin:$PATH
아래 명령어를 치면 수정된 .bashrc 파일이 업데이트 된다.

source $HOME/.bash_profile
그리고 바로


sudo rm /etc/ssl/certs/java/cacerts
sudo update-ca-certificates -f
얘를 써줘야한다

certificate라는 거 보니 뭔가 권한 관련된 것 같은데

그렇게 안되던게 저거 치고 딱 react-native run-android하니까 된다!

예이!

근데 이거 해결하니까 또

> Building 59% > :app:mergeDebugResources

이렇게 뜨면서 59%에서 멈춰버려서

sudo apt-get install lib32z1
sudo apt-get install zlib1g:i386

이 명령어로 해결한건 안 비밀...

이건 깃헙 이슈에 있는 것 보니 특정 라이브러에 관한 리엑트 네이티브 에러인 것 같다.

참고




참고적으로 다른 사람들은 이걸로 해결 했다는 경우도 많아서 적어둔다.
react-native init을 통해 만든 프로젝트 폴더 내의 gradlew 파일의 실행권한을 바꿔주는 건데
해당 폴더로 가서

chmod 755 android/gradlew
이렇게 해주면 된다.


You May Also Like

0 comments