使用Kivy將python程序打包為apk文件
1.概述
Kivy
是一套Python
下的跨平臺(tái)開(kāi)源應(yīng)用開(kāi)發(fā)框架,官網(wǎng),我們可以用
它來(lái)將Python
程序打包為安卓的apk
安裝文件。以下是在windows環(huán)境中使用。
安裝和配置的過(guò)程中會(huì)下載很多東西,確保你能夠穩(wěn)定地訪問(wèn)外網(wǎng)
,另外推薦一個(gè)視頻教程:Youtube
2. 步驟
第一當(dāng)然是安裝了Python
,我的版本是Python 2.7.13
,然后就是安裝Kivy
包:
官網(wǎng)有詳細(xì)的Kivy包的安裝步驟,按照該步驟走完就安裝ok。
然后就是寫(xiě)一個(gè)簡(jiǎn)單的程序main.py
測(cè)試一下:
import kivy kivy.require('1.9.1') from kivy.app import App from kivy.uix.button import Button class test(App): def build(self): return Button(text='hello world') if __name__ == '__main__': test().run()
運(yùn)行截圖:
運(yùn)行成功,那開(kāi)發(fā)環(huán)境基本沒(méi)問(wèn)題了。然后下面就是怎么將這個(gè)程序打包成apk
。
首先需要安裝虛擬機(jī) VirtualBox
,這個(gè)沒(méi)問(wèn)題,很快就裝好了,然后Kivy官方制作了該虛擬機(jī)的映像(很體貼),下載后就直接能運(yùn)行了,省去不少麻煩。下載地址,或者直接去官網(wǎng)下載:
下載并解壓之后,打開(kāi)VB并載入該文件夾下的虛擬機(jī)文件,然后運(yùn)行(登錄密碼kivy):
進(jìn)入到該系統(tǒng)中之后,就需要開(kāi)始配置環(huán)境。官方指導(dǎo)
首先我們先在該系統(tǒng)中添加一個(gè)共享文件夾,這樣可以和windows共享文件,在VB的設(shè)備->共享文件夾選項(xiàng)中有配置:
然后我們使用固定分配,在windows下某個(gè)路徑新建一個(gè)文件夾后將其選擇為共享文件夾,并選擇自動(dòng)掛載:
然后重新啟動(dòng)虛擬機(jī)就可以訪問(wèn)該共享文件夾了:
設(shè)置好了共享文件夾后,可以將之前寫(xiě)的測(cè)試程序main.py
拷貝到該文件夾,然后在虛擬機(jī)中拷貝到桌面?zhèn)溆谩?/p>
然后打開(kāi)終端(cd到桌面),執(zhí)行buildozer init
命令,之后會(huì)在桌面上生成buildozer.spec
的配置文件:
然后使用命令gedit buildozer.spec
來(lái)編輯該文件,(如果沒(méi)有g(shù)edit可以sudo apt-get install gedit
來(lái)安裝)
基本不用改什么,那個(gè)source.dir 需要注意,這是剛剛我們放在桌面上的main.py
的路徑。
然后運(yùn)行buildozer android_new debug
,接著就開(kāi)始下載很多東西了,例如Android SDK
,Android NDK
之類(lèi),并且是需要訪問(wèn)外網(wǎng)的,自搭梯子。這個(gè)過(guò)程要很久,讓我一度以為出了問(wèn)題,然后我中午睡一覺(jué)起來(lái)就差不多了^^。
然后在它自動(dòng)下載配置之后就會(huì)在桌面的bin
文件夾下面生成了apk
文件,可以安裝在手機(jī)上試一下。
然后基本流程大概如此^^,詳細(xì)可以去官網(wǎng)了解,我就是按照官網(wǎng)的步驟完成的。
最后再推薦一個(gè)MIT開(kāi)發(fā)的快速制作安卓app的網(wǎng)站,http://appinventor.mit.edu/explore/
相關(guān)文章
PySide2出現(xiàn)“ImportError: DLL load failed: 找不到指定的模塊”的問(wèn)題及解決方法
這篇文章主要介紹了PySide2出現(xiàn)“ImportError: DLL load failed: 找不到指定的模塊”的問(wèn)題及解決方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2020-06-06python調(diào)用matlab的m自定義函數(shù)方法
今天小編就為大家分享一篇python調(diào)用matlab的m自定義函數(shù)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02如何用python識(shí)別滑塊驗(yàn)證碼中的缺口
這篇文章主要介紹了如何用python識(shí)別滑塊中的缺口,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-04-04Python numpy有哪些常用數(shù)據(jù)類(lèi)型
Numpy提供了兩種基本的對(duì)象:ndarray(N-dimensional Array Object)和 ufunc(Universal Function Object)。ndarray是存儲(chǔ)單一數(shù)據(jù)類(lèi)型的多維數(shù)組,而ufunc則是能夠?qū)?shù)組進(jìn)行處理的函數(shù)2023-02-02Python基礎(chǔ)教程之錯(cuò)誤和異常的處理方法
程序在運(yùn)行時(shí),如果python解釋器遇到一個(gè)錯(cuò)誤,會(huì)停止程序的執(zhí)行,并且提示一些錯(cuò)誤信息,這就是異常,下面這篇文章主要給大家介紹了關(guān)于Python基礎(chǔ)教程之錯(cuò)誤和異常的處理方法,需要的朋友可以參考下2022-05-05- 我們知道python只定義了6種數(shù)據(jù)類(lèi)型,字符串,整數(shù),浮點(diǎn)數(shù),列表,元組,字典。但是C語(yǔ)言中有些字節(jié)型的變量,在python中該如何實(shí)現(xiàn)呢?這點(diǎn)頗為重要,特別是要在網(wǎng)絡(luò)上進(jìn)行數(shù)據(jù)傳輸?shù)脑挕?/div> 2014-06-06
Python Pytorch gpu 分析環(huán)境配置
Pytorch是目前最火的深度學(xué)習(xí)框架之一,目前也支持了pytorch的GPU加速,所以我就想著,在這兩個(gè)電腦上裝個(gè)Pytorch,這篇文章主要介紹了Python Pytorch(gpu)分析環(huán)境配置,需要的朋友可以參考下2023-04-04對(duì)python中raw_input()和input()的用法詳解
下面小編就為大家分享一篇對(duì)python中raw_input()和input()的用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04梯度下降法介紹及利用Python實(shí)現(xiàn)的方法示例
梯度下降算法是一個(gè)很基本的算法,在機(jī)器學(xué)習(xí)和優(yōu)化中有著非常重要的作用,下面這篇文章主要給大家介紹了關(guān)于利用Python實(shí)現(xiàn)梯度下降法的相關(guān)資料,對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-07-07最新評(píng)論