用Python程序開發Android應用APP

用Python程序開發Android應用APP

很久很久之前我就想開發一款app玩一下,不過因為不是很熟悉Java,也沒有開發app的經驗,因此一直沒去弄。最近學了python就想用它開發一個app,google查找之後發現路子還是很多的,現在也有了一些比較成熟的模塊,然後開始了動手,在這過程中發現坑真的有點多,不過在google的幫助下都解決了,所以小記一下。

說在後面的話

python言語雖然很萬能,但用它來開發app還是顯得有點不對路,因而用python開發的app該當是作為編碼練習、或許自娛自樂所用,加上目前這方面的模塊還不是特別成熟,bug比擬多,總而言之,勸君莫輕入。

預備工具

應用python開發app需求用到python的一個模塊–kivy,kivy是一個開源的,跨平臺的Python開發框架,用於開發運用創新的使用順序。簡而言之,這是一個python桌面順序開發框架(相似wxpython等模塊),弱小的是kivy支持linux、mac、windows、android、ios平臺,這也是為何開發app需求用到這個模塊。

雖然kivy是跨平臺的,但是想要在不同的平臺運用python代碼,還需求將python代碼打包成對應平臺的可執行順序,好在kivy項目下有個打包工具項目–buildozer,這是官方引薦的打包工具,由於絕對比擬複雜,自動化水平高,其他項目比方:python-for-android也能起到相似的作用,這裡不展開引見。

搭建kivy開發環境

需求在pc上裝置kivy開發環境,這裡演示下mac與linux下的裝置進程。

install kivy for mac

安裝一些依賴包:

用Python程序開發Android應用APP

Python開發一個APP居然如此之簡單?老王自學三月就獨立開發了!

安裝完測試一下:

用Python程序開發Android應用APP

Python開發一個APP居然如此之簡單?老王自學三月就獨立開發了!

說明:導入kivy模塊沒有報錯則說明安裝成功。

install kivy for centos7

先安裝依賴:

用Python程序開發Android應用APP

Python開發一個APP居然如此之簡單?老王自學三月就獨立開發了!

安裝cython以及kivy:

用Python程序開發Android應用APP

Python開發一個APP居然如此之簡單?老王自學三月就獨立開發了!

用kivy開發第一個python app

安裝完kivy就可以開發app程序了,這裡演示下hello-world程序,關於kivy更復雜的用法不是本文重點,後面再成文介紹。

創建一個main.py文件,寫入:

用Python程序開發Android應用APP

Python開發一個APP居然如此之簡單?老王自學三月就獨立開發了!

創建一個hello.kv文件,寫入:

用Python程序開發Android應用APP

Python開發一個APP居然如此之簡單?老王自學三月就獨立開發了!

群簡單說明:main.py是入口函數,定義了一個HelloApp類,該類繼承kivy.app;hello.kv文件是kivy程序,相當於定義界面風格等,該文件命名規則為類名小寫且去除app。

運行第一個python app

用Python程序開發Android應用APP

Python開發一個APP居然如此之簡單?老王自學三月就獨立開發了!

結果

用Python程序開發Android應用APP

Python開發一個APP居然如此之簡單?老王自學三月就獨立開發了!

裝置buildozer工具

經過以上的編碼,我創立了本人的第一個python app順序,該順序可以間接在mac、linux、windows平臺下運轉,那麼如何讓它在安卓或許蘋果手機上運轉呢?我們曉得在安卓上運轉,需求將其打包成apk裝置順序,因而就需求用到後面提到過的buildozer工具,(buildozer工具可以打包kivy順序,支持android、ios等),buildozer的裝置進程比擬複雜:

pip install buildozer

用Python程序開發Android應用APP

Python開發一個APP居然如此之簡單?老王自學三月就獨立開發了!

運用buildozer工具將kivy順序打包成apk

在python項目目錄下運轉:

buildozer init

運轉成功將會創立一個配置文件buildozer.spec,可以經過修正配置文件更改app的稱號等,然後運轉:

buildozer android debug deploy run

1

運轉以上命令將會生成跨平臺的裝置包,可適用安卓、ios等,假如用於安卓,則是應用python-for-android項目。

在第一次運轉以上命令的時分,會自動在零碎中下載安卓sdk等必要文件,如下圖。(進程需求翻牆,而且有很多依賴需求下載)

用Python程序開發Android應用APP

用Python程序開發Android應用APP


分享到:


相關文章: