컴퓨터에서 휴대전화 내부의 전화번호를 선택 혹은 새로운 전화번호를 입력하여
메세지를 전송할 수 있도록 도와주는 프로그램 제작
개발 내용 정리
1. 휴대폰의 연락처에 접근하여 정보(사용자가 저장한 이름, 전화번호)를 가져옴(csv 형태로 저장)
2. Python의 tkinter를 통하여 전화번호 목록을 선택할 수 있도록 반환
3. 사용자가 message를 입력하는 창을 만들어둠
4. 전화번호와 message가 입력되면 send 버튼 활성화
완성해둔 코드 github
github을 클릭하여 코드 보기(main.py의 내용입니다.)
(기능 단위별로 더 자세히 나눠보는 것은 다음 프로젝트에서 진행해보도록 하겠습니다.)
SMS 컨트롤러란
(PC환경에서 message를 작성하며 전송을 누르면 db에 내용이 저장되는 형태
내부에서 api서버가 돌아가도록 설정하였음)
우선 컴퓨터에서 휴대폰을 접근할 수 있도록 adb를 통해 접근할 수 있도록 만들어준다.
adb 설정 내용은 아래와 같이 진행하였다.
안드로이드 기기에서 해야할 일
- Android 기기에서 USB 디버깅을 활성화합니다.
- 기기에서 "설정" > "휴대전화 정보"로 이동한 다음 "빌드 번호"를 7번 탭하여 "개발자 옵션"을 활성화합니다.
- "설정"으로 돌아가서 "개발자 옵션"으로 이동하고 "USB 디버깅"을 활성화합니다.
Android SDK 플랫폼 도구를 설치합니다.
Android 개발자 웹사이트에서 다운로드할 수 있습니다:
https://developer.android.com/studio/releases/platform-tools
다운로드 후 ZIP 파일(예: platform-tools-latest-windows.zip)을 추출합니다.
플랫폼 도구를 추출한 디렉토리를 시스템의 PATH에 추가합니다.
Window 컴퓨터
- 시스템(제어판)을 검색하여 선택
- 고급 시스템 설정 링크를 클릭합니다.
- 환경 변수를 클릭하십시오.
- "시스템 변수"에서 "경로" 변수를 찾아 선택합니다.
- "시스템 변수 편집" 창에서 "새로 만들기"를 클릭합니다.
- "platform-tools" 디렉토리의 경로를 복사하여 텍스트 상자에 붙여넣은 다음 각 창에서 "확인"을 클릭합니다.
- ADB가 작동하는지 확인하려면 명령 프롬프트를 열고 adb version을 입력합니다. 버전 정보가 표시되어야 합니다.
- USB 케이블을 사용하여 Android 장치를 PC에 연결합니다. 장치 드라이버를 설치해야 할 수도 있습니다.
명령 프롬프트에서 adb devices를 입력하여 연결된 장치 목록을 확인합니다.
- Android SDK 플랫폼 도구를 설치합니다.
- Android 개발자 웹사이트에서 다운로드할 수 있습니다
- https://developer.android.com/studio/releases/platform-tools
- 다운로드 후 ZIP 파일(예: platform-tools-latest-darwin.zip)의 압축을 풉니다.
플랫폼 도구를 추출한 디렉토리를 시스템의 PATH에 추가하는 방법
- 터미널을 엽니다.
- vi ~/.zshrc 같은 텍스트 편집기로 ~/.zshrc를 엽니다.
- 아래 줄을 파일에 추가하고 /path/to/를 실제 디렉터리 경로로 바꿉니다
- vi에서 편집하기 위해서 i를 누릅니다
- export PATH=PATH:/Users/randeath/Documents/CtorlA/platform-tools
- 파일을 저장하고 닫습니다.
저장 방법 (vi의 경우 esc 누른 후 :wq)- source ~/.zshrc를 입력하여 프로필을 새로 고칩니다.
편집기 nano나 vi를 통해서 텍스트 편집을 진행할 수 있습니다.
하지만
위 환경에 익숙하지 않은 사람을 위해서
Finder에서 편집하는 방법
Finder를 켜고 Home디렉토리(계정이름) 아래표시로 이동시킨 다음
"Command+Shift+."을 누르면 해당 폴더에
숨겨진 폴더들을 볼 수 있으며 텍스트 편집기로 편집이 가능합니다.
다시 터미널로 돌아와서
ADB가 작동하는지 확인하려면
터미널에서 adb version을 입력합니다.
버전 정보가 표시되어야 합니다.
USB 케이블을 사용하여 Android 기기를 Mac에 연결합니다.
Android 기기에서 USB 디버깅을 활성화합니다
(위에 안드로이드에서 해야할 일 참고).
터미널에서 adb devices를 입력하면 연결된 장치 목록을 볼 수 있습니다.
공식문서 설명
아래 코드를 통하여 python에서 adb 연결을 해주는 것이 가능합니다.
from adb_shell.adb_device import AdbDeviceTcp
from adb_shell.auth.sign_pythonrsa import PythonRSASigner
# Read the private key
sys.stdin.reconfigure(encoding='utf-8')
with open('/사용자 주소/adbkey') as f:
priv = f.read()
# Create a PythonRSASigner instance with the private key
signer = PythonRSASigner('', priv)
위의 코드에서 사용자주소/를 수정해줘야함 adbkey의 여러분의 위치를 표시해줘야 합니다.
signer를 통해
device.connect(rsa_keys=[signer])
로 adb 연결이 최종적으로 가능하도록 만들어줍니다.