우분투 18.04 react-native run-android 실행 시 javax.net.ssl.SSLException 에러
리엑트 네이티브를 시작했다.
기본 튜토리얼에서 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
이렇게 해주면 된다.
0 comments