πŸ“± Как ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Python Π½Π° Android: подробная инструкция

Для компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Python Π½Π° Android Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ инструмСнт Kivy. Π’ΠΎΡ‚ шаги, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ:

  1. УстановитС Kivy Π½Π° своСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, слСдуя инструкциям Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС Kivy.
  2. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ для Android.
  3. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ инструмСнт Buildozer, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ Kivy, для компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Python Π² исполняСмый Ρ„Π°ΠΉΠ» Android APK.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ для Android:

import kivy
from kivy.app import App
from kivy.uix.button import Button

class MyApp(App):
    def build(self):
        return Button(text='Hello World')

if __name__ == '__main__':
    MyApp().run()

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для Android, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ с установлСнным Buildozer:

buildozer init
buildozer android debug

ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ этого процСсса Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ» APK, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π° Android-устройство.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Python Π½Π° Android

ΠŸΡ€ΠΈΠ²Π΅Ρ‚! Если Ρ‚Ρ‹ Ρ…ΠΎΡ‡Π΅ΡˆΡŒ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Python Π½Π° Android, Ρ‚ΠΎ Ρ‚Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡˆΡŒΡΡ Π² Π½ΡƒΠΆΠ½ΠΎΠΌ мСстС. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ объясню этот процСсс ΠΈ ΠΏΠΎΠΊΠ°ΠΆΡƒ Ρ‚Π΅Π±Π΅ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠΎΠ΄Π°.

1. Установка Termux

Termux - это Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ эмулятор для Android, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Linux Π½Π° устройствС. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ, ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Termux ΠΈΠ· Google Play Store. ΠŸΡ€ΠΎΡΡ‚ΠΎ Π½Π°ΠΉΠ΄ΠΈ Π΅Π³ΠΎ Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π½Π°ΠΆΠΌΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ "Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ".

ПослС установки ΠΎΡ‚ΠΊΡ€ΠΎΠΉ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Termux.

2. Установка ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Python ΠΈ Git

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Python Π½Π° Android, Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Python ΠΈ Git. Π’Π²Π΅Π΄ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² Termux:

      
pkg install git python
      
   

Команда pkg install ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для установки ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², git - ΠΏΠ°ΠΊΠ΅Ρ‚ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Git, Π° python - ΠΏΠ°ΠΊΠ΅Ρ‚ для языка программирования Python. ПодоТди, ΠΏΠΎΠΊΠ° установка Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ.

3. ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ рСпозитория PyInstaller

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ PyInstaller с GitHub с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

      
git clone https://github.com/pyinstaller/pyinstaller.git
      
   

Команда git clone ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ PyInstaller Π½Π° Ρ‚Π²ΠΎΡ‘ устройство.

4. Установка зависимостСй для PyInstaller

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ рСпозитория PyInstaller:

      
cd pyinstaller
      
   

И установи Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ зависимости:

      
python setup.py install
      
   

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‚Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡˆΡŒ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ PyInstaller.

5. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Python

Π’Π΅Ρ€Π½ΠΈΡΡŒ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, Π³Π΄Π΅ находится Ρ‚Π²ΠΎΠΉ скрипт Python:

      
cd /path/to/your/python/script/folder
      
   

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ PyInstaller для компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² исполняСмый Ρ„Π°ΠΉΠ»:

      
pyinstaller your_script.py
      
   

Π“Π΄Π΅ your_script.py - это имя Ρ‚Π²ΠΎΠ΅Π³ΠΎ скрипта Python. ПодоТди, ΠΏΠΎΠΊΠ° PyInstaller Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ.

6. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ исполняСмого Ρ„Π°ΠΉΠ»Π°

ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ компиляции Ρ‚Ρ‹ найдСшь исполняСмый Ρ„Π°ΠΉΠ» Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /path/to/your/python/script/folder/dist/. Имя исполняСмого Ρ„Π°ΠΉΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅, ΠΊΠ°ΠΊ имя Ρ‚Π²ΠΎΠ΅Π³ΠΎ скрипта Python.

ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΡŽ! Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ тСбя Π΅ΡΡ‚ΡŒ исполняСмый Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π° Android.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π° Android:

      
import time

def main():
    print("ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€!")
    time.sleep(1)
    print("Π­Ρ‚ΠΎ моя пСрвая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Python, скомпилированная для Android!")

if __name__ == "__main__":
    main()
      
   

Π’Ρ‹Π²ΠΎΠ΄

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρ‚Ρ‹ знаСшь, ΠΊΠ°ΠΊ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Python Π½Π° Android. Π― ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ объяснил ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ шаг процСсса ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π» Ρ‚Π΅Π±Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°. Π£Π΄Π°Ρ‡ΠΈ Π² Ρ‚Π²ΠΎΠΈΡ… программистских начинаниях!

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Как ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Python Π² мобильноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Android APK ΠΈΠ· мобильного прилоТСния Π½Π° Python

Как ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ python Π² APK Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄Π΅

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ”§ΠšΠ°ΠΊ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Wing 101 для ΠŸΠΈΡ‚ΠΎΠ½Π°: подробная инструкция ΠΏΠΎ настройкС IDEπŸ”§

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π½Π΅ΠΉΡ€ΠΎΡΠ΅Ρ‚ΡŒ Π½Π° Python? ΠžΡΠ½ΠΎΠ²Ρ‹ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования

Как пСрСвСсти строку Π² ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ ΠΏΠΈΡ‚ΠΎΠ½: ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

πŸ“± Как ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Python Π½Π° Android: подробная инструкция

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ Π΄Π²Π° двоСточия Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅: ΠΏΠΎΠ»Π½ΠΎΠ΅ объяснСниС

Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ символ Π² Π½Π°Ρ‡Π°Π»ΠΎ строки ΠΏΠΈΡ‚ΠΎΠ½: простой способ

Как Π½Π°ΠΉΡ‚ΠΈ срСднСС арифмСтичСскоС элСмСнтов списка Π½Π° Python: простой способ