直接把 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 創建圖形界面程序


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM