안드로이드 태블릿에서 오프라인으로 VScode C/C++개발

1. Termux 설치

Android10 문제로 인해 플레이스토어에선 최신버전을 받을 수 없습니다. 최신버전을 설치하지 않으면 나중에 Andronix 우분투 설치과정에서 문제가 생길 수도 있습니다. F-Droid에서 최신버전을 찾으신 후 왼쪽 아래의 APK다운로드를 누르면 됩니다. 만약 설치 중에 출처를 알 수 없다는 경고가 뜨면 더보기에서 무시하고 설치를 누르면 됩니다.

세션이 켜져있으면 Termux 앱 아이콘에 배지형 알림이 뜹니다. 없애기 위해 앱 알림 설정에서 배지형알림만 꺼줍니다.

그럼 오른쪽 처럼 알림이 꺼집니다.

2. Andronix, 우분투 설치

Andronix는 플레이 스토어에서 간단히 설치할 수 있습니다. Moded OS 항목에 보면 안드로이드 환경에 맞게 최적화 해놓은 우분투 버전을 사용할 수 있습니다. 여기선 4000원 정도 결제가 필요합니다. 필요없으시다면 기본 우분투를 선택하셔도 됩니다.

여기서 Install을 누르면 클립보드에 설치를 위한 명령어가 복사됩니다. 이걸 그대로 Termux에 붙여넣으면 됩니다. 여기서 매일 Install버튼 누르는 횟수 제한이 있기 때문에 한번 클립보드에 복사된 명령어를 어디 적어놓는게 좋습니다.

붙여넣고 나면 설치하는 데 시간이 꽤 걸립니다. 처음에 한동안 화면이 멈춰 있는데 되고 있으니 일단 냅두고 기다리면 됩니다. 설치하고 키 배열 설정, time zone설정, 언어 설정 등 많은 설정이 뜰 텐데 본인에 맞게 맞춰서 하시면 됩니다.

3. code-server 설치

먼저 Termux앱에서 아래 명령어를 실행해 우분투 환경으로 전환합니다.

./start-andronix.sh

그리고 아래 명령어로 패키지 목록을 업데이트합니다.

sudo apt update

code-server를 다운로드 받는데 curl을 사용할 것이므로 아래 명령어로 curl을 설치합니다.

sudo apt install curl

이제 본격적으로 code-server를 설치할 겁니다. 아래 명령어로 code-server설치를 위한 스크립트를 가져와 실행합니다.

curl -fsSL https://code-server.dev/install.sh | sh

설치가 되었다면 아래 명령어로 code-server를 실행합니다.

code-server

아무 브라우저를 열고 주소창에 localhost:8080을 입력합니다. 아직 비밀번호를 모르므로 수정이 필요합니다. 브라우저를 나가서 Termux로 돌아가 ctrl-c로 code-server를 종료시킵니다.

config.yaml파일을 수정해서 비밀번호를 바꿔줘야 합니다. 물론 vim을 쓰셔도 되지만, 저는 nano에디터로 수정해주겠습니다. code-server를 한번이라도 켜지 않았다면 설정파일이 생기지 않으므로 파일을 만들어줘야 합니다.

nano .config/code-server/config.yaml

여기서 password: 뒷부분에 원하는 비밀번호를 넣어줍니다. 그리고 ctrl-O와 enter를 눌러 저장하고 ctrl-X를 눌러 나옵니다.

이제 code-server를 본격적으로 실행할겁니다. 다시 아래 명령어로 code-server를 실행하고 브라우저에서 아까 바꿔놓은 비밀번호를 입력합니다.

code-server

아래에서 수동으로 설치할 몇몇 확장을 제외하곤 거의 모든 확장을 설치할 수 있습니다. 저는 Material Theme 확장을 설치해서 기본 테마를 변경했습니다.

4. gcc/g++ 설치

이제 code-server를 킬 때 빼곤 Termux를 볼 일이 없습니다. code-server에서 터미널을 열어줍니다. 여기서 아래 명령어를 실행합니다.

sudo apt install build-essential

이제 gcc와 g++이 설치되었습니다.

5. C/C++ extension 설치

아쉽게도 이제 컴파일은 잘 되지만 VScode의 핵심 기능인 인텔리센스를 사용하기 위해선 C/C++ 확장을 설치해야 합니다. Visual Studio Market Place에서 C/C++C/C++ Extension Pack을 설치해줍니다.

저는 최신버전에선 언어서버가 충돌하는 문제가 있어서 1.20.5버전을 사용했습니다. 저기서 Linux ARM64를 다운로드 하면 됩니다. C/C++ Extension Pack은 그냥 최신버전을 다운로드해도 문제가 없습니다.

이제 확장을 code-server에 설치해야 합니다. 아까 VScode화면에서 Open Folder클릭 후 홈 디렉터리를 열어줍니다. 그리고 우클릭 후 upload를 선택하고 아까 다운받은 두 .vsix 파일을 홈 디렉터리로 이동시킵니다.

F1을 누르고 visx를 입력하면 Extensions: Install from VSIX… 메뉴가 뜹니다. 여기서 아까 업로드한 두 .vsix 파일을 선택하고 설치하면 됩니다.

6. 추가 브라우저 설치

브라우저마다 조금씩 다르긴 하지만 code-server를 앱으로 설치하는 기능이 있습니다. 크롬 기준으로 메뉴에 홈 화면에 추가를 누르면 됩니다. 삼성 인터넷 기준으론 주소창에 다운로드 아이콘을 누르면 됩니다.

이제 code-server앱이 설치되었습니다. 그런데 이 앱을 동시에 여러 개 실행시키는 방법이 없습니다. 따라서 일종의 편법으로 브라우저를 여러개 설치해서 각각의 브라우저에서 앱을 설치하면 브라우저 수 만큼 앱을 설치해서 따로따로 실행 할 수 있습니다.

저는 크롬, 삼성 인터넷 이렇게 두가지 브라우저에서 앱을 설치해서 code-server를 복제했습니다.

7. 앱 아이콘 변경

앱 자체 아이콘을 변경하는건 힘들어 보이고, 홈 화면에 바로가기를 만들고 그 아이콘을 마음대로 지정하는 건 가능합니다. 저는 Any Icon이란 앱을 사용했습니다.

이제 이렇게 동시에 두 개의 앱을 띄울 수 있습니다.

8. 테스트

이제 Hello World를 한번 만들어 보겠습니다.

hello_world.cpp
#include <iostream>

using namespace std;

int main() {
    cout << "Hello World!" << endl;
    return 0;
}
C++

이제 터미널을 열고 아래 명령어로 컴파일 합니다.

g++ hello_world.cpp -o hello_world

기가 막히게 실행되는 것을 볼 수 있습니다. 아래처럼 oh my zsh를 추가로 설치해 터미널을 커스텀 할 수도 있습니다.

Intellisense도 잘 실행됩니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다