-
Python만으로 어플을 만들어보자 #6 (Create a package for Android)Programing/python 어플 개발 2022. 4. 21. 22:46반응형
Python으로 어플만들기 6탄
: 안드로이드 apk 파일로 배포를 해보자
지금까지 어플리케이션을 만들었지만,
우리가 생각하는 '그 어플리케이션'은 아니였습니다.이젠 지금까지 어찌저찌 만들었던 kivy 어플리케이션을 활용해서 정말로 '그 어플리케이션'을 만들어봅시다!
python과 kivy를 활용해서 만든 main.py를 안드로이드 어플리케이션 파일 .apk로 패키징 하는 방법은 여러가지가 있습니다. (공식문서 참조)
buildozer
를 활용한다.python-for-android
를 활용한다.Kivy Launcher
를 활용한다.
이 중, 가장 첫번째로 소개하고 있는
buildozer
를 활용해 패키징해보도록 하겠습니다.Install buildozer (in windows)
하지만 처음부터 난관입니다. 아직 buildozer가 윈도우를 지원하지 않기 때문이죠...
"Buildozer currently works only in Linux and macOS (You can still use it on Windows via WSL)"하지만 그나마 다행인건 Windows에서 ubuntu OS를 사용할 수 있게 해주는 WSL(Windows Subsystem for Linux: 리눅스용 윈도우 하위 시스템)이 있다는 것입니다. (참고)
1. Install WSL
WSL의 설치 방법은 간단합니다.
1) Microsoft Store로 들어갑니다.
2) 검색창에 ubuntu를 검색합니다.
3) 설치합니다.간단하죠? (하지만 무겁습니다.)
2. run the WSL
설치가 완료되었다면 실행 방법도 간단합니다.
Window 시작버튼에 있는 ubuntu wsl 앱을 실행해도 되고, cmd나 Pycharm의 터미널에서 실행시킬 수도 있습니다.
저는 Pycharm에서 실행해보도록 하겠습니다.wsl.exe
실행 방법조차 간단하군요!
3. install Buildozer
설치 전, 먼저 현 디렉토리가 맞는지 잘 확인해주세요.
WSL에서kivy_venv
를 활성화 시키는 방법은 windows와는 조금 다릅니다.
아래의 코드로kivy_venv
를 실행시킬 수 있습니다.source activate
그리고 아래의 코드를 WSL에서 실행시켜주면 buildozer를 설치할 수 있습니다.
git clone https://github.com/kivy/buildozer.git cd buildozer sudo python3 setup.py install # 설치가 완료되었다면 # cd .. # 를 통해 다시 디렉토리를 이동해주세요
4. buildozer init
이제 정말 본격적으로 어플리케이션을 .apk파일로 만들 준비를 해봅시다.
우리가 만들었던 main.py가 있는 디렉토리로 돌아와서 아래의 코드를 실행시켜줍니다.
buildozer init
그럼 .apk 파일을 만들기 위한 전초단계, buildozer.spec 파일이 새로 생성됩니다.
그리고 이 파일을 열어보면 어플의 이름 등, 세부 속성을 변경할 수 있습니다.
5. buildozer deploy
이젠 마지막입니다!
아래의 코드를 실행시키면 안드로이드에 어플을 설치하기 위한 .apk파일이 생성됩니다!
buildozer android debug deploy run
하지만 에러가 꽤 많이 발생했었습니다.
다음 포스팅에서 제게 발생했던 에러들과 해결방법을 정리해보도록 하겠습니다.
반응형'Programing > python 어플 개발' 카테고리의 다른 글
Python만으로 어플을 만들어보자 #8 (feat. 구름IDE, goorm IDE) (5) 2022.04.26 Python만으로 어플을 만들어보자 #7 (buildozer error shooting) (0) 2022.04.23 Python만으로 어플을 만들어보자 #5 (A SimplePaint App #2) (1) 2022.04.20 Python만으로 어플을 만들어보자 #4 (A SimplePaint App #1) (0) 2022.04.19 Python만으로 어플을 만들어보자 #3 (create an application) (0) 2022.04.17