프로젝트를 하기 전에 c++ 코드를 안드로이드로 올리는 작업을 qt로 진행 해 보았고, 그 예제 코드로 이전에 만들었던 qt gui 자판기 프로그램을 사용해보았다.
일단 기본적으로 설치해야하는 것들이
1. jdk
2. ndk
3. sdk
이 세가지인데, 보통 리눅스라면 자바가 기본적으로 설치가 되어있을 것이다. 근데 이와 같은 상황에서 사용하려면 jdk 8 버전을 사용하는 것을 추천한다(이유는... 모름 오류나서 고쳤다)
진짜... sdk 설치하느라 별의 별 뻘짓을 다했다 ㅠ 뭐 안되서 삭제하고 뭐 안되서 삭제하고 그러다가 화나서 안드로이드 스튜디오 까지 깔았었음
결론적으로 먼저 다운로드 받아야하는 아이들은
- JDK : https://www.oracle.com/java/technologies/javase-jdk8-downloads.html
jdk-8u241-linux-x64.tar.gz 다운로드(나는 64bit linux여서 64로 했는데 자기꺼 맞춰서 다운로드)
- NDK : https://developer.android.com/ndk/downloads/older_releases?hl=ko
딱히 버전은 상관 없는 것 같긴 한데 최신은 말고... 19 버전을 추천한다. 왜냐면 내가 그걸로 됬음
안드로이드 개발자 홈페이지 가서 다운로드 받을 수 있는 것 같긴 한데, 나는 다른거로 할 때 다 안되고 여기서 다운로드 받고 바로 성공했다. 블로그 주인분께 감사 인사를 드리자. 저기서도 자신의 버전에 맞는 것을 다운로드 한다.
그리고 ndk와 sdk는 한 디렉토리에 넣어주는 것이 좋다. 왜냐면... 찾기 쉬우니까
다음 설정 방법이다. 편의상 cmd에서 치는 명령들에 $를 붙였다.
1. JDK
다운로드 경로로 가서(다 ~/Download에 다운로드 되었다고 가정함)
$ tar -xvf jdk*
$ mkdir /usr/local/java
$ mv jdk1.8.0_241 /usr/local/java/
jdk 받은 버전 따라 다르게 적어주긴 해야한다. 아무튼 압축을 풀고 나면 /usr/local/java를 만들고 그 디렉토리 밑으로 옮겨준다.
근데 사실 여기다가 안옮겨도 된다.. 그냥 자기 보기좋은 곳에 옮겨도 된다. 만약에 자기가 리눅스에서 사용할 기본 자바도 바꾸려면 /usr/local/java에 넣고
$ sudo vi /etc/proflie
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk_version/bin/java" 1;
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk_version/bin/javac" 1;
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk_version/bin/javaws" 1;
sudo update-alternatives --set java /usr/local/java/jdk_version/bin/java;
sudo update-alternatives --set javac /usr/local/java/jdk_version/bin/javac;
sudo update-alternatives --set javaws /usr/local/java//bin/javaws;
:wq
해주면 되는데 그냥 qt에서 스려고 하는거면 자기가 jdk를 푼 경로만 알면 된다
JDK 끝.
2. NDK
NDK랑 SDK 설치 전에는
$ mkdir ~/Android
해서 관리하기 쉽게 디렉토리를 하나 만들어 놓는 것을 추천한다. 만들고 한다면 아래 나오는 명령어 그대로 쳐도 된다.
사실 NDK는 이전에 글을 썼었다 설치하는 방법을...
https://biji-jjigae.tistory.com/71
여기서 달라지는건 디렉토리 경로만 다르게 해주면 된다. 그리고 ndk도 최신버전 말고 19로 받는걸 추천한다. 다운로드 받고 나면
$ unzip android-ndk-*
$ mv android-ndk-* ndk
$ mv ndk ~/Android
$ sudo vi ~/.bashrc
export NDK_ROOT=~/Android/ndk
export PATH=$PATH:$NDK_ROOT
:wq
$ source ~/.bashrc
차례대로 해주면 된다
NDK 끝.
3. SDK
망할놈의 SDK... 사실 위 링크에서 다운로드 받았다면 아~~~무 문제 없이 잘 될 것이다.
다운로드 받고 압축을 풀어서 안에 들어가보면 sdk라고 폴더가 있을 것이다. 그 폴더를 ~/Android로 옮겨준다.
$ unzip adt-bundle-linux-*
$ cd adt-bundle-linux-*
$ mv sdk ~/Android/
그리고
$ sudo vi ~/.bashrc
export ANDROID_HOME='~/Android/sdk'
export PATH=$PATH:'~/Android/sdk/platform-tools/':'~/Android/sdk/tools'
:wq
$ source ~/.bashrc
하고 cmd창에 adb 명령어가 되는지, android를 쳤을 때 sdkmanager가 뜨는지 확인하면
SDK 끝.
자 그러면 이제 경로 설정들은 끝났다.
JDK : /usr/local/java/jdk*
NDK : ~/Android/ndk
SDK : ~/Android/sdk
이 경로들을 qt 프로젝트 생성하거나, 있는 프로젝트 빌드를 설정할 때
차례대로 설정해주면 된다. 저렇게 두개의 초록 체크가 나오면 설정이 다 잘 끝난것이다...
나는 넥서스5를 기기로 사용하였고, 그래서 따로 애뮬레이터 관련된 것은 설치하지 않았다.. 더 하고싶지도 않아...
기기는 USB debugging 활성화를 시킨 후, Device > Device 탭에서 선택해주면 된다.
나는 armeabi-v7a를 사용했다.
'잡지식' 카테고리의 다른 글
VMware NAT port forwarding (0) | 2020.05.08 |
---|---|
[JDK] Windows 10 install (0) | 2020.03.10 |
[QT] QT install in kali (0) | 2020.03.07 |
[IDA] 원격 디버깅 (0) | 2020.02.09 |
[Kali Linux 2020.1] ifconfig not found (0) | 2020.02.05 |