일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 좋은글필사하기
- 소울칼리버6
- 장자명언
- 이모지
- bash
- 넷플릭스
- Streaming
- 1인개발자
- jetpack compose
- 공부집중
- FSM
- androidx
- kotlin
- Android
- 명심보감
- DART
- Linux
- recyclerview
- 공자명언
- Firebase
- Coroutine
- Freesound
- 명언모음
- Flutter
- 이모지메모
- 벤자민플랭클린
- ASMR
- 오픈소스
- 파이썬
- 코틀린
- Today
- Total
Vintage appMaker의 Tech Blog
ADB를 이용한 Android와 PC 통신 본문
ADB를 이용한 Android와 PC 통신
VintageappMaker 2020. 12. 13. 11:25full source - github
VintageAppMaker/AndroidToPCAgent
안드로이드 App과 PC 통신. Contribute to VintageAppMaker/AndroidToPCAgent development by creating an account on GitHub.
github.com
단말기에서는 반드시 [설정-응용프로그램-개발-USB 디버깅]이 체크되어 있어야 한다. PC에서는 USB Driver가 설치되어 있어야 하며, ADB도 설치가 되어 있어야 한다.
연동방법:
pc에서 adb를 이용하여 linux App를 실행한다.
Linux App는 단말기 내의 APK와 소켓 통신을 한 후,
그 결과값을 printf로 출력한다. PC에서는 그 결과값을 분석하여 처리한다.
PC에서 ADB로 제어
adb에서 Activity와 Service에 정보를 전달하는 방법이 있다. adb shell의 "AM"이라는 명령어이다. 이 명령어는 사실 Android의 Froyo 풀소스를 보게되면 AM.java라는 파일로 존재하는 프로그램이다.
만약 com.psw 패키지의 com.psw.main Activity를 호출하고자 한다면 다음과 같이 PC의 커맨드 창에서 입력하면 된다.
adb shell am start -a android.intent.action.MAIN -n com.psw/com.psw.main
그러나 am의 명령어는 Activity나 Service에 파마메터를 통해 Intent를 던지는 것 밖에는 할 수 없다. 그러므로 PC와의 통신으로 사용하기에는 부족한 면이 있다. 그래서 linux용 Application을 만들어 그 프로그램을 호출하면 Activity나 Service와 TCP 통신을 하고 결과값을 console로 받으면 원하는 기능을 구현할 수 있다. ADB shell에서 linux application을 실행할 수 있는 경로는 다음과 같다.
/data/local/
실행하기
- 단말기를 USB 케이블과 연결한다(ADB와 USB 드라이버는 이미 설치되어 있어야 한다).
- run.bat을 실행한다.
- 0을 눌러 APK를 설치한다.
- 5를 눌러 APK List를 본다.
- 9를 눌러 동영상 정보를 본다.
'Source code or Tip > Android(Java, Kotlin)' 카테고리의 다른 글
kotlin에서 xml의 ID로 변수를 자동으로 읽어오지 못할 때 (0) | 2020.12.22 |
---|---|
[Android] 커스텀 폰트 사용시, 강제로 TextView의 패딩이 들어가는 현상 (0) | 2020.12.14 |
[kotlin] RecyclerView full size capture - 코틀린 변환 (0) | 2020.08.16 |
[Link] Android Bitmap에 워터마크 추가하기 (0) | 2020.08.12 |
Android Toast 중복방지 (0) | 2020.08.10 |