您當前的位置:首頁 > 收藏

爆強!直接把 Python 編寫的圖形程式打包為安卓 APP

作者:由 州的先生 發表于 收藏時間:2021-07-01

如果想使用 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 編寫的圖形程式打包為安卓 APP

能夠讓 Python 編寫的圖形程式在 iOS, Android, Windows, MacOS, Linux, Web, 和 tvOS 上執行,看起來是很強大的。

安裝

根據 BeeWare 的文件說明,在 Windows 上使用,我們首先需要安裝 Git 和 WiX Toolset,根據給出的網址,下載安裝即可。然後,我們使用 pip 工具安裝 BeeWare:

pip install briefcase

建立應用

BeeWare 安裝完成之後,我們就可以透過

briefcase

命令在命令列終端進行 BeeWare 應用的管理,比如新建、執行、構建、打包等等。我們先使用命令

briefcase new

建立一個應用。命令輸入之後,會讓我們輸入「應用的正式名稱」、「應用程式名稱」、「域名」、「專案名稱」等等資訊,在這裡出於演示,我們統統使用預設值。

爆強!直接把 Python 編寫的圖形程式打包為安卓 APP

輸入完成之後,BeeWare會開始建立應用,建立完成之後,會有如下提示:

爆強!直接把 Python 編寫的圖形程式打包為安卓 APP

同時目錄下多出了一個與應用程式名稱同名的目錄:

爆強!直接把 Python 編寫的圖形程式打包為安卓 APP

我們的程式的主要程式碼都將在 app。py 裡面編寫,預設 app。py 檔案內已經有一個demo程式碼,我們可以直接執行專案:

briefcase dev

在命令列輸入上述命令,會生成一個如下圖所示的視窗:

爆強!直接把 Python 編寫的圖形程式打包為安卓 APP

打包為Windows程式

出於演示,在這裡州的先生不對 BeeWare 的圖形介面控制元件進行過多的演示,直接使用了它的demo。如果我們需要將編寫好的圖形程式打包成 Windows桌面程式,那麼可以執行下面的步驟:首先,建立應用的腳手架:

briefcase create

執行命令,將會生成一些預配置檔案,然後下載依賴的包。完成之後,專案目錄下會生成一個 Windows 的目錄,如下圖所示:

爆強!直接把 Python 編寫的圖形程式打包為安卓 APP

然後,構建應用:

briefcase build

接著,執行構建的應用:

briefcase run

最後,打包應用:

briefcase package

打包完成後,。/Windows 目錄下會生成一個 。msi 的二進位制安裝檔案:

爆強!直接把 Python 編寫的圖形程式打包為安卓 APP

我們雙擊執行它,會出現常見的Windows程式的安裝介面:

爆強!直接把 Python 編寫的圖形程式打包為安卓 APP

爆強!直接把 Python 編寫的圖形程式打包為安卓 APP

安裝完成之後,可以在Windows的應用程式列表中看到它:

爆強!直接把 Python 編寫的圖形程式打包為安卓 APP

點選它,就會開啟我們之前用命令執行的程式介面;

爆強!直接把 Python 編寫的圖形程式打包為安卓 APP

打包為安卓APP

如果我們要將應用打包為安卓APP,過程也是類似的。首先,建立應用的安卓腳手架:

briefcase create android

接著,構建安卓應用:

briefcase build android

爆強!直接把 Python 編寫的圖形程式打包為安卓 APP

然後,我們執行一下構建好的安卓應用:

briefcase run android

在這裡會讓我們選擇裝置,可以選擇 BeeWare 提供的安卓虛擬機器或者是在電腦上連線自己的手機,在這裡,我們選擇安卓虛擬機器:

爆強!直接把 Python 編寫的圖形程式打包為安卓 APP

最後,打包安卓應用:

briefcase package android

爆強!直接把 Python 編寫的圖形程式打包為安卓 APP

打包完成之後,我們可以在 。\android\gradle\Hello World\app\build\outputs 找到打包好的檔案:

爆強!直接把 Python 編寫的圖形程式打包為安卓 APP

BeeWare 提供了兩種打包好的檔案,一種是用於上架Google Play 的。aab 格式檔案,

爆強!直接把 Python 編寫的圖形程式打包為安卓 APP

一種是用於除錯的 。apk 檔案:

爆強!直接把 Python 編寫的圖形程式打包為安卓 APP

apk 檔案咱們的手機可以直接安裝,所以就用QQ把它傳到手機上:

爆強!直接把 Python 編寫的圖形程式打包為安卓 APP

QQ內可以識別安裝:

爆強!直接把 Python 編寫的圖形程式打包為安卓 APP

安裝它:

爆強!直接把 Python 編寫的圖形程式打包為安卓 APP

安裝完成:

爆強!直接把 Python 編寫的圖形程式打包為安卓 APP

開啟應用:

爆強!直接把 Python 編寫的圖形程式打包為安卓 APP

顯示程式內容:

爆強!直接把 Python 編寫的圖形程式打包為安卓 APP

這樣,我們就把Python編寫的圖形程式直接打包為了安卓APP。IOS的打包流程也是類似,大家可以參考官網文件嘗試一下。有問題歡迎留言交流討論~

BeeWare 集成了一個自己研發的 GUI 框架 toga ,這是 BeeWare 支援的 GUI 框架中對全平臺適配最好一個,如果你希望更詳細地瞭解 BeeWare 建立圖形介面程式,麻煩給本文點個贊。

「州的先生」將給大家帶來BeeWare圖形介面程式的更多精彩內容。

標簽: BeeWare  Briefcase  打包  Windows  應用