欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何使用Python打包APK

 更新時(shí)間:2024年02月21日 09:34:55   作者:羅五十  
這篇文章主要介紹了Linux環(huán)境下的Python打包和部署實(shí)踐的相關(guān)資料,需要的朋友可以參考下

之前偶爾接觸到了python開(kāi)發(fā)app的工具kivy(也能開(kāi)發(fā)windows/linux/mac應(yīng)用),然后發(fā)現(xiàn)網(wǎng)上教程極少,甚至第一步打包apk就勸退了很多人,我也踩了很多坑,最后還是一一解決了,這里寫(xiě)個(gè)文章記錄下。

我選擇用buidlozer打包apk,主要參考官方文檔:https://buildozer.readthedocs.io/en/latest/installation.html

從文檔上看,這個(gè)工具主要是在linux和macos上用,我這邊主要用windows,所以我選擇用虛擬機(jī)來(lái)搭建打包環(huán)境。
整個(gè)搭建過(guò)程錄頻傳到b站上了,供參考python安卓開(kāi)發(fā)——kivy打包安卓APK逐步教學(xué)

一、準(zhǔn)備linux環(huán)境和相關(guān)工具

這里直接VMware+Ubuntu20.04解決環(huán)境問(wèn)題,這一有個(gè)坑,一定要用18以上的ubuntu,否則可能因?yàn)閛penssl版本導(dǎo)致后續(xù)步驟失敗。如何安裝虛擬機(jī)和在虛擬機(jī)上安裝系統(tǒng)就不贅述了,一般按照安裝引導(dǎo)就ok。

安裝完成后為了后續(xù)方便使用,建議安裝以下兩個(gè)工具:

  1. openssl-server(linux)+Mobaxterm(windows)。ssh登錄linux,方便windows下貼命令,否則的話(huà)需要安裝vmware-tools,但是感覺(jué)這個(gè)不太好用。另外也可以通過(guò)這個(gè)來(lái)在虛擬機(jī)和windows間傳輸文件。這個(gè)配置也簡(jiǎn)單,直接sudo apt install openssl-server即可
  2. samba。linux上配置samba方便共享文件,這樣windows可以直接添加網(wǎng)絡(luò)位置,可以方便地在windows上編輯文件并在linux編譯運(yùn)行。可參考博文【詳細(xì)步驟】Ubuntu安裝Samba服務(wù)及配置共享文件夾進(jìn)行配置

二、準(zhǔn)備python環(huán)境

官方文檔說(shuō)的需要3.8以上版本,因此我也就直接用3.8了。
為了后續(xù)方便,還是用conda來(lái)管理python環(huán)境,我這里用的miniconda,因?yàn)槲募∫恍枰墓δ芤捕加小?/p>

conda create -n kivy python=3.8
source activate kivy
pip install kivy

然后把我們?cè)趙indows下寫(xiě)的程序傳到虛擬機(jī)里面,代碼是一段簡(jiǎn)單的demo如下,python ./main驗(yàn)證ok

from kivy.app import App
from kivy.uix.button import Button
 
class TestApp(App):
    def build(self):
        return Button(text='iPaoMi')
 
TestApp().run()

在這里插入圖片描述

三、buildozer打包apk

在工程目錄下,執(zhí)行以下命令

3.1 初始化

在工程目錄下執(zhí)行buildozer init,會(huì)生成一個(gè).spec配置文件,內(nèi)容可以自己看看,包括App名稱(chēng)等,這里我也沒(méi)有仔細(xì)研究。

3.2 buildozer -v android debug

接下來(lái)是個(gè)巨坑,官方文檔上說(shuō)明是執(zhí)行buildozer -v android debug,如果你是初次運(yùn)行,就可以去泡一杯咖啡了。因?yàn)檫@個(gè)過(guò)程中會(huì)自動(dòng)下載SDK/NDK等內(nèi)容。

然后第一個(gè)坑就來(lái)了,如果你是ubuntu16,那么大概跑了十幾分鐘后會(huì)失敗,提示ssl之類(lèi)的錯(cuò)誤。
其實(shí)這里并不需要魔法,可以正常下載,原因就在ubuntu的ssl版本。
SDK里面用的python3.10.10,要求openssl版本大于1.1.1
如果你愿意折騰,可以試試升級(jí)一下是否能解決這個(gè)問(wèn)題,但我建議直接用ubuntu20.04,按官方文檔來(lái)。

然后是第二個(gè)坑,如果下載過(guò)程中網(wǎng)絡(luò)波動(dòng)導(dǎo)致失敗,重新嘗試下載時(shí),會(huì)提示文件已存在,或者是某某工具找不到
因?yàn)橹跋螺d未完成但是可能文件已經(jīng)存在,這將影響工具對(duì)下載狀態(tài)的判斷,需要?jiǎng)h除工程目錄下的.buildozer文件夾和用戶(hù)目錄下的.buildozer文件夾

然后是第三個(gè)坑,下了十幾分鐘文件后,有一個(gè)文件無(wú)法下載,看域名確實(shí)是需要魔法才能下載,但是這并不意味著我們需要這個(gè)文件
重新執(zhí)行之前的命令,發(fā)現(xiàn)沒(méi)有出現(xiàn)前面的問(wèn)題,開(kāi)始正式編譯了,最終生成目錄bin,并在其下能找到apk文件。

四、驗(yàn)證

這里沒(méi)有像官方文檔中建議那樣直接用USB調(diào)試,而是簡(jiǎn)單的將APK文件拖入安卓模擬器驗(yàn)證,執(zhí)行ok。


在這里插入圖片描述

后續(xù)修改代碼內(nèi)容重新編譯,大約只需要半分鐘即可打包完成。也就是第一次使用比較困難。

到此這篇關(guān)于如何使用Python打包APK的文章就介紹到這了,更多相關(guān)Python打包APK內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Opencv求取連通區(qū)域重心實(shí)例

    Opencv求取連通區(qū)域重心實(shí)例

    這篇文章主要介紹了Opencv求取連通區(qū)域重心實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • Python代碼調(diào)試Debug的實(shí)用技巧分享

    Python代碼調(diào)試Debug的實(shí)用技巧分享

    我們?nèi)粘?xiě)代碼過(guò)程中,難免會(huì)寫(xiě)出各類(lèi)錯(cuò)誤,這些錯(cuò)誤可能是語(yǔ)法錯(cuò)誤、邏輯錯(cuò)誤或運(yùn)行時(shí)錯(cuò)誤,所以本文為大家分享了一些Python調(diào)試Debug的技巧,感興趣的可以了解下
    2024-11-11
  • python IP地址轉(zhuǎn)整數(shù)

    python IP地址轉(zhuǎn)整數(shù)

    這篇文章主要介紹了python 如何將IP 地址轉(zhuǎn)整數(shù),幫助大家了解轉(zhuǎn)換的原理與收益,更好的理解python,感興趣的朋友可以了解下
    2020-11-11
  • Pandas讀取Excel文件的六種方法

    Pandas讀取Excel文件的六種方法

    Pandas 是一個(gè) Python 數(shù)據(jù)分析庫(kù),可以用來(lái)讀取 Excel 文件,Pandas提供了多種讀取Excel文件的方法,本文將給大家分享一些官方推薦的6種方法,代碼示例講解得非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • Pandas如何對(duì)帶有Multi-column(多列名稱(chēng))的數(shù)據(jù)排序并寫(xiě)入Excel中

    Pandas如何對(duì)帶有Multi-column(多列名稱(chēng))的數(shù)據(jù)排序并寫(xiě)入Excel中

    這篇文章主要介紹了Pandas如何對(duì)帶有Multi-column(多列名稱(chēng))的數(shù)據(jù)排序并寫(xiě)入Excel中問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 詳解python itertools功能

    詳解python itertools功能

    itertools是python內(nèi)置的模塊,使用簡(jiǎn)單且功能強(qiáng)大,這里嘗試匯總整理下,并提供簡(jiǎn)單應(yīng)用示例,這篇文章主要介紹了python itertools功能,需要的朋友可以參考下
    2020-02-02
  • Python簡(jiǎn)單獲取網(wǎng)卡名稱(chēng)及其IP地址的方法【基于psutil模塊】

    Python簡(jiǎn)單獲取網(wǎng)卡名稱(chēng)及其IP地址的方法【基于psutil模塊】

    這篇文章主要介紹了Python簡(jiǎn)單獲取網(wǎng)卡名稱(chēng)及其IP地址的方法,結(jié)合實(shí)例形式分析了Python基于psutil模塊針對(duì)本機(jī)網(wǎng)卡硬件信息的讀取操作簡(jiǎn)單使用技巧,需要的朋友可以參考下
    2018-05-05
  • 基于Python?wxPython開(kāi)發(fā)文件管理工具

    基于Python?wxPython開(kāi)發(fā)文件管理工具

    這篇文章主要為大家詳細(xì)介紹了如何基于wxPython開(kāi)發(fā)一個(gè)文件管理工具,該工具提供了多種實(shí)用功能,代碼結(jié)構(gòu)清晰,易于理解和擴(kuò)展,需要的可以了解下
    2025-02-02
  • 解決python opencv無(wú)法顯示圖片的問(wèn)題

    解決python opencv無(wú)法顯示圖片的問(wèn)題

    今天小編就為大家分享一篇解決python opencv無(wú)法顯示圖片的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • Python unittest生成測(cè)試報(bào)告過(guò)程解析

    Python unittest生成測(cè)試報(bào)告過(guò)程解析

    這篇文章主要介紹了Python unittest生成測(cè)試報(bào)告過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09

最新評(píng)論