爆強!直接把 Python 編寫的圖形程式打包為安卓 APP
如果想使用 Python 語言編寫圖形介面程式,那麼有不少的框架可以提供支援,比如
Tkinter、Qt for Python、WxPython
等等。
不過
這些框架都是隻能建立桌面圖形介面程式
,比如 Windows、Linux 和 macOS。如果我們想要建立 IOS 或 Android 等平臺的移動應用APP,它們就無能為力了。
那麼 Python 能不能寫移動應用APP呢?實際上是可以的。
目前據「州的先生」所瞭解,
Kivy 和 BeeWare 都宣稱「一次編寫,處處部署」,基於這些個框架編寫的圖形介面程式,都能夠打包為全平臺的應用程式,比如:Windows、Linux、macOS、Android、IOS。
今天,咱們就嘗試使用一下 BeeWare 這個框架,編寫一個圖形介面程式,然後打包為一個安卓APP。
開始吧!
本文首發「州的先生」公眾號
BeeWare 是一個基於 Python 構建的跨平臺應用開發框架,其宣傳「Write once。 Deploy everywhere。」
能夠讓 Python 編寫的圖形程式在 iOS, Android, Windows, MacOS, Linux, Web, 和 tvOS 上執行,看起來是很強大的。
安裝
根據 BeeWare 的文件說明,在 Windows 上使用,我們首先需要安裝 Git 和 WiX Toolset,根據給出的網址,下載安裝即可。然後,我們使用 pip 工具安裝 BeeWare:
pip install briefcase
建立應用
BeeWare 安裝完成之後,我們就可以透過
briefcase
命令在命令列終端進行 BeeWare 應用的管理,比如新建、執行、構建、打包等等。我們先使用命令
briefcase new
建立一個應用。命令輸入之後,會讓我們輸入「應用的正式名稱」、「應用程式名稱」、「域名」、「專案名稱」等等資訊,在這裡出於演示,我們統統使用預設值。
輸入完成之後,BeeWare會開始建立應用,建立完成之後,會有如下提示:
同時目錄下多出了一個與應用程式名稱同名的目錄:
我們的程式的主要程式碼都將在 app。py 裡面編寫,預設 app。py 檔案內已經有一個demo程式碼,我們可以直接執行專案:
briefcase dev
在命令列輸入上述命令,會生成一個如下圖所示的視窗:
打包為Windows程式
出於演示,在這裡州的先生不對 BeeWare 的圖形介面控制元件進行過多的演示,直接使用了它的demo。如果我們需要將編寫好的圖形程式打包成 Windows桌面程式,那麼可以執行下面的步驟:首先,建立應用的腳手架:
briefcase create
執行命令,將會生成一些預配置檔案,然後下載依賴的包。完成之後,專案目錄下會生成一個 Windows 的目錄,如下圖所示:
然後,構建應用:
briefcase build
接著,執行構建的應用:
briefcase run
最後,打包應用:
briefcase package
打包完成後,。/Windows 目錄下會生成一個 。msi 的二進位制安裝檔案:
我們雙擊執行它,會出現常見的Windows程式的安裝介面:
安裝完成之後,可以在Windows的應用程式列表中看到它:
點選它,就會開啟我們之前用命令執行的程式介面;
打包為安卓APP
如果我們要將應用打包為安卓APP,過程也是類似的。首先,建立應用的安卓腳手架:
briefcase create android
接著,構建安卓應用:
briefcase build android
然後,我們執行一下構建好的安卓應用:
briefcase run android
在這裡會讓我們選擇裝置,可以選擇 BeeWare 提供的安卓虛擬機器或者是在電腦上連線自己的手機,在這裡,我們選擇安卓虛擬機器:
最後,打包安卓應用:
briefcase package android
打包完成之後,我們可以在 。\android\gradle\Hello World\app\build\outputs 找到打包好的檔案:
BeeWare 提供了兩種打包好的檔案,一種是用於上架Google Play 的。aab 格式檔案,
一種是用於除錯的 。apk 檔案:
apk 檔案咱們的手機可以直接安裝,所以就用QQ把它傳到手機上:
QQ內可以識別安裝:
安裝它:
安裝完成:
開啟應用:
顯示程式內容:
這樣,我們就把Python編寫的圖形程式直接打包為了安卓APP。IOS的打包流程也是類似,大家可以參考官網文件嘗試一下。有問題歡迎留言交流討論~
BeeWare 集成了一個自己研發的 GUI 框架 toga ,這是 BeeWare 支援的 GUI 框架中對全平臺適配最好一個,如果你希望更詳細地瞭解 BeeWare 建立圖形介面程式,麻煩給本文點個贊。
「州的先生」將給大家帶來BeeWare圖形介面程式的更多精彩內容。
上一篇:打工人必須要掌握的日語詞彙!
下一篇:第三十一章 出征!出征!出征!