Android Wifi plugin

송훈기·2022년 2월 5일
0

Android

목록 보기
5/10

개요

개발자들은 편리함을 만들어 내기 위해 공부한다. 나는 이게 항상 모순됐다고 생각했다. 편리함을 위해, 보다 게으르기 위해 부지런히 공부하고 만들어낸다.
제목에서 Wifi plugin이라 붙여서 '플러그인 설정방법'으로 생각할 수 있는데 아쉽지만 이 글은 그런게 아니다.

그렇다면 이글은 무엇인가? 항상 나는 왜 이런게 탄생했을까? 에 대해 궁금해 하는 편이다. 이번 글도 그런것과 비슷하다. 저 플러그인이 왜 탄생했고, 어떤 귀찮은 일을 덜어준것일까? 에 대한 고찰이다.

adb

안드로이드는 리눅스 기반 "운영체제"다.
안드로이드 프로그래밍을 하면서 Application Layer(그..안드로이드 구성요소 그려진 사진을 생각하면 된다)에서 코딩을 하기에 나는 가끔씩 운영체제임을 놓칠 때가 있다.(그럼 안되는데..)
여튼 운영체제고 리눅스 기반이기에 명령어로써 모든 기능들을 할 수 있다. IO작업 또한 마찬가지이다.
여기서 adb는 안드로이드 장치를 조작할 수 있는 다리의 역할을 하는 녀석이다 원문은 Android Debug Bridge 말 그대로 다리다.

Wifi Connect

자 기계를 처리하는 명령어를 가진 녀석이 adb라는 것은 알았다.
그렇다면 왜 wifi plugin으로 adb 얘기를 꺼낸 것인가 그걸 알아야 한다.
결론부터 얘기하자면 adb 명령어로 안드로이드 기기를 wifi로 연결할 수 있고, 이를 대신 해주는 것이 plugin이라는 녀석이기 때문이다.
생각보다 방법은 심플하다.
1. 안드로이드 터미널을 켜든, 뭐든 터미널을 킨다(리눅스여야 한다. 난 윈도우이기 때문에 터미널에서 켰다)
1-1. terminal은 정확하게 특정 프로젝트를 만들어야만 쓸 수 있기 때문에 프로젝트 앱과 관련된 것들이 세팅되는 것이다.
2. wifi 연결을 하고 싶은 device가 usb로 컴퓨터와 연결 되어 있어야한다. 처음 한번은 필요하다. 또한 현재 내 안드로이드 기기가 연결된 wifi의 ip주소를 알아야 한다.
3. adb devices로 연결이 되어 있는지 확인
4. adb tcpip 5555로 포트번호를 설정한다. (5555가 기본임)
5. adb connect (wifi-ip)로 device를 연결한다.
이러면 끝이다.
심플하지 않은가?

그렇다면 plugin은 왜

저런 과정으로 adb가 안드로이드 운영체제와 연결이 되지만, 사람이 1개의 프로젝트만 할 수 없는지라 변경될 때마다 저 명령어를 쳐줘야 한다.
이는 usb 연결선을 항상 가지고 다녀야하는 귀찮음도 동반된다.
편할려고 한건데 생각보다 편해지지 않게 된것이다.
그래서 그런 것을 대신 해주는 plugIn이 나온게 아닐까 라고 생각한다.(물론 내 생각이다)

번외

adb명령어를 최근 자주 쓰게 되면서 안드로이드 apk 빌드 과정에서 재밌는 것을 찾았다.
우린 단순하게 ide에서 삼각형 버튼?을 통해서 기기에 apk를 빌드하는데
결국 그것들은 전부 명령어로써 이루어 질텐데 어떤 명령어로 될까?에 대한 궁금증이였다.
window에서도 해볼 수 있다.
1. apk파일 폴더 경로까지 찾아간다.
2. Shift + 마우스 우클릭을 통해서 power shell로 shell을 연다
3. root 권한을 받은 상태에서 adb remount를 통해 기기의 read, write 권한을 얻어온다.
4. adb push (apk 경로)를 통해서 기기에 apk를 push 해놓는다.
5. adb shell ps를 사용해 현재 내 앱이 사용하는 process의 id값을 찾는다.(grep으로 찾아도 됨)
6. adb shell로 root 권한을 해제하고, 찾았던 pid로 프로세스를 죽인다.
7. 그렇게 되면 push 되었던 녀석이 process에 재생될 것이다.
이와 같은 방법으로 안드로이드가 빌드하고 있는게 아닐까 라고 생각했다.

꽤 재밌다.

profile
안녕하세요 송훈기입니다.

0개의 댓글