python編寫apk文件,python開發apk

本文目錄一覽:

如何Python寫一個安卓APP

前言:用Python寫安卓APP肯定不是最好的選擇,但是肯定是一個很偷懶的選擇,而且實在不想學習Java,再者,就編程而言已經會的就Python與Golang(註:Python,Golang水平都一般),那麼久Google了一下Python寫安卓的APP的可能性,還真行。

既然要寫個APP,那麼總得要有個想法吧。 

其實筆者想做兩個APP來着,一個是自己寫着好玩的,一個是關於運維的。 

關於運維的APP,設計應該如下 

可能長這樣:

然後設計應該是這樣:

如果覺得可行的話,評論留言一下你覺得應該寫進這個APP的運維常用命令吧^_^,筆者暫時想到的是top,free -m,df –h,uptime,iftop,iotop,如果有什麼好的想法就狠狠的砸過來吧,筆者到時應該也會把這個寫成一個項目放到github上,大家一起用嘛,開源才是王道,哈哈。

好吧,進入正題。 

我們使用kivy開發安卓APP,Kivy是一套專門用於跨平台快速應用開發的開源框架,使用Python和Cython編寫,對於多點觸控有着非常良好的支持,不僅能讓開發者快速完成簡潔的交互原型設計,還支持代碼重用和部署,絕對是一款頗讓人驚艷的NUI框架。 

因為跨平台的,所以只寫一遍代碼,就可以同時生成安卓及IOS的APP,很酷吧。 

本文會帶大家寫一個Hello world並瞧一瞧Python版的2048的代碼

kivy安裝 

環境說明:筆者在用的是Python2.7.10 

這裡僅介紹windows平台安裝 

更新pip,setuptools

python -m pip install –upgrade pip wheel setuptools12

然後是安裝所需要的依賴

python -m pip install docutils pygmentspypiwin32 kivy.deps.sdl2 kivy.deps.glew \

kivy.deps.gstreamer –extra-index-url ple/123

值得注意的是,上面的安卓需要訪問Google,所以請自備梯子,而且kivy.deps.gstreamer這個包比較大(95MB),可以單獨本地安裝,h

然後就是安裝kivy了

python -m pip install kivy12

至此,安裝就已經完畢了,值得注意的是64位系統沒有開啟虛擬化支持,在導入kivy的時候會報錯,如果是64位系統就設置一下機器的BIOS,開啟虛擬化支持吧。 

註:這裡只是kivy的運行環境,這樣我就能直接在windows機器上直接調試了,怎麼將代碼編譯成APK文件我們會在後面講到。

如果kivy在python中應該就能導入了。

按照世界慣例,我們」hello」一下吧。 

新建一個.py文件

from kivy.app import App

from kivy.uix.button importButton

class TestApp(App):

def build(self):

return Button(text=’Hello,kivy’)

TestApp().run()123456789

運行:

然後會彈出一個框,大概如下,點擊」hello,kivy」會變顏色

點擊窗口並按「F1」會這個窗口的一些屬性

然後我們回過頭看一看代碼。

##導入App,然後讓TestApp這個類繼承

from kivy.app import App

##導入一個Button,運維有這個button,當你點擊的時候才會有所反應

from kivy.uix.button importButton

###定義類,名字必須是xxxApp

class TestApp(App):

###build一個Button

def build(self):

###返回一個Button,文字內容是「Hello,kivy」

return Button(text=’Hello,kivy’)

##運行,因為繼承了App,所以才有的run這個方法

TestApp().run()123456789101112131415

上面就是我們的Hello了 

在windows上運行當然沒有什麼太大的意義,怎麼在安卓手機上運行才是我們想要的, 

這時我們需要一個編譯環境。 

官方說明的環境,如下:

You』ll need:

A     linux computer or a virtual machine

Java

Python     2.7 (not 2.6.)

Jinja2     (python module)

Apache     ant

Android     SDK12345678

雖然官方提供了一個似乎還不錯的虛擬機鏡像,但是還是有很多內容需要翻出去,所以筆者在

當然你也可以下載官方鏡像,因為第一次編譯需要去國外下一大堆東西,所以請自備梯子。

Virtual Machine 

A Virtual Machine with Android SDK and NDK and all otherpre-requisites pre installed to ease apk generation: 

Kivy Buildozer VM 

Or select the Torrent

在筆者提供的鏡像里,桌面上有一個dev_and,只要將上面寫的代碼,放入這個文件夾即可(當然也可以在其他目錄,後面會講到)。

cd Desktop/dev_and/12

初始化會在當前目錄生成一個buildozer.spec文件 用於配置生成的apk相關信息

buildozer init12

修改buildozer.spec文件

vi buildozer.spec12

至少修改下面三項

# (str) Title of your application

title = helloworld

# (str) Package name

package.name = helloapp

# (str) Package domain (needed for android/ios packaging)

package.domain = youer.com123456789

然後注釋

# (str) Application versioning (method 1)

#version.regex = __version__ = [‘”](.*)[‘”]

#version.filename = %(source.dir)s/main.py

下面這行改為非注釋

version = 1.2.0123456

最後我們生成我們需要的apk文件

buildozer -v android debug12

buildozer命令會在當前文件夾創建一個bin,該文件夾裏面有我們想要的apk文件

helloapp-1.2.0-debug.apk

安裝以後應該是這樣

話說在編譯的時候可能出現空間不足的情況,根據虛擬機的不同(vmware或virtualbox)自行擴容吧。

最後我們來瞧瞧簡易版Python開發的2048這個遊戲的源代碼。 

先看效果圖

試玩了一下,還是蠻流暢的,有興趣的可以下載玩一下 

這個遊戲代碼雖然不長,但是還是蠻占篇幅的,所以簡要的說明一下流程:

主要由三部分組成,一是素材,圖片音頻之類的文件,二是Python代碼,三是kv文件,這個kv文件有點像html中的css。 

Python代碼的文件名一般命名為main.py 

然後一定有一個叫做XXXApp的類,並繼承App。 

比如該類叫做GameApp,那麼該目錄下的kv文件則必須為Game,如上圖所示,如果不是,那麼kv文件中的一些設定就不會生效。 

比如設定一個標籤

Label:

id: time

text: ‘xxxx’

font_size: 6012345

id為time,text文本內容為』xxxx』,然後字體為60 

好吧,點到為止吧,不過似乎什麼都沒點到~~~

從無到有做一個App,我想我會另起一篇文章吧。

如何把python打包成apk文件

右鍵點擊項目,彈出菜單。鼠標移動到runas選項上,彈出子菜單。然後單擊Androidapplication。他就會打包成apk了。點擊項目中bin目錄前面的加號,就可以看到對應的apk了,然後右鍵該apk選擇copy,再到某個目錄點擊粘貼就可以複製出來了。

python可以寫軟件么怎麼寫?

22點24分準時推送,第一時間送達

編輯:技術君 | 來源:youerning

上一篇:

正文

前言

用 Python 寫安卓 APP 肯定不是最好的選擇,目前用Java和 kotlin 寫的居多,但是肯定也是一個很偷懶的選擇,而且實在不想學習 Java,再者,就編程而言已經會的就 Python與Golang(註:Python,Golang水平都一般),那麼久Google了一下Python 寫安卓的 APP 的可能性,還真行。

既然要寫個APP,那麼總得要有個想法吧。其實想做兩個APP來着,一個是自己寫着好玩的,一個是關於運維的。關於運維的APP,設計應該如下

可能長這樣

然後設計應該是這樣。

如果覺得可行的話,評論留言一下你覺得應該寫進這個APP的運維常用命令吧^_^,筆者暫時想到的是top,free -m,df –h,uptime,iftop,iotop,如果有什麼好的想法就狠狠的砸過來吧,筆者到時應該也會把這個寫成一個項目放到github上,大家一起用嘛,開源才是王道,哈哈。

開發安卓APP

我們使用kivy開發安卓APP,Kivy是一套專門用於跨平台快速應用開發的開源框架,使用Python和Cython編寫,對於多點觸控有着非常良好的支持,不僅能讓開發者快速完成簡潔的交互原型設計,還支持代碼重用和部署,絕對是一款頗讓人驚艷的NUI框架。

因為跨平台的,所以只寫一遍代碼,就可以同時生成安卓及IOS的APP,很酷吧。

本文會帶大家寫一個Hello world並瞧一瞧 Python 版的2048的代碼

kivy安裝

環境說明:筆者在用的是Python2.7.10

這裡僅介紹windows平台安裝

所有平台參考:

更新pip,setuptools

python -m pip install –upgrade pip wheel setuptools

然後是安裝所需要的依賴

python -m pip install docutils pygmentspypiwin32 kivy.deps.sdl2 kivy.deps.glew \

kivy.deps.gstreamer –extra-index-url

值得注意的是,上面的安卓需要訪問Google,所以請自備梯子,而且kivy.deps.gstreamer這個包比較大(95MB),可以單獨本地安裝,

然後就是安裝kivy了

python -m pip install kivy

至此,安裝就已經完畢了,值得注意的是64位系統沒有開啟虛擬化支持,在導入kivy的時候會報錯,如果是64位系統就設置一下機器的BIOS,開啟虛擬化支持吧。

註:這裡只是kivy的運行環境,這樣我就能直接在windows機器上直接調試了,怎麼將代碼編譯成APK文件我們會在後面講到。

如果kivy在python中應該就能導入了。

按照世界慣例,我們」hello」一下吧。

新建一個.py文件

from kivy.app import Appfrom kivy.uix.button importButton

class TestApp(App):

def build(self):

return Button(text=’Hello,kivy’)

TestApp().run()

運行

然後會彈出一個框,大概如下,點擊」hello,kivy」會變顏色

點擊窗口並按「F1」會這個窗口的一些屬性

然後我們回過頭看一看代碼。

##導入App,然後讓TestApp這個類繼承

from kivy.app import App##導入一個Button,運維有這個button,當你點擊的時候才會有所反應

from kivy.uix.button

importButton

###定義類,名字必須是xxxAppclass TestApp(App):

###build一個Button

def build(self):

###返回一個Button,文字內容是「Hello,kivy」

return Button(text=’Hello,kivy’)

##運行,因為繼承了App,所以才有的run這個方法TestApp().run()

上面就是我們的Hello了

在windows上運行當然沒有什麼太大的意義,怎麼在安卓手機上運行才是我們想要的,

這時我們需要一個編譯環境。

官方說明的環境,如下:

You』ll need:

A linux computer or a virtual machine

Java

Python 2.7 (not 2.6.)

Jinja2 (python module)

Apache ant

Android SDK

雖然官方提供了一個似乎還不錯的虛擬機鏡像,但是還是有很多內容需要翻出去,所以筆者在這裡提供相對而言更加完善的鏡像

下載地址:

注:virtualbox,vmware需自行下載

root密碼:kivy

默認使用賬戶kivy,密碼:kivy123

當然你也可以下載官方鏡像,因為第一次編譯需要去國外下一大堆東西,所以請自行去下載。

Virtual Machine

A Virtual Machine with Android SDK and NDK and all otherpre-requisites pre installed to ease apk generation:

Kivy Buildozer VM

Or select the Torrent

在筆者提供的鏡像里,桌面上有一個dev_and,只要將上面寫的代碼,放入這個文件夾即可(當然也可以在其他目錄,後面會講到)。

在公眾號Python人工智能技術後台回復「面試」,獲取騰訊Python面試題和答案。

cd Desktop/dev_and/

初始化會在當前目錄生成一個buildozer.spec文件 用於配置生成的apk相關信息

buildozer init

###修改buildozer.spec文件

vi buildozer.spec

至少修改下面三項

# (str) Title of your applicationtitle = helloworld

# (str) Package namepackage.name = helloapp

# (str) Package domain (needed for android/ios packaging)package.domain = youer.com

然後注釋

# (str) Application versioning (method 1)#version.regex = __version__ = [‘”](.*)[‘”]#version.filename = %(source.dir)s/main.py

下面這行改為非注釋

version = 1.2.0

最後我們生成我們需要的apk文件

buildozer -v android debug

buildozer.spec更詳細的相關參數配置參考:

buildozer命令會在當前文件夾創建一個bin,該文件夾裏面有我們想要的apk文件

helloapp-1.2.0-debug.apk

helloapp-1.2.0-debug.apk

安裝以後是這樣:

話說在編譯的時候可能出現空間不足的情況,根據虛擬機的不同(vmware或virtualbox)自行擴容吧。

最後我們來瞧瞧簡易版Python開發的2048這個遊戲的源代碼。

代碼:

先看效果圖:

試玩了一下,還是蠻流暢的,有興趣的可以下載玩一下

下載地址:

這個遊戲代碼雖然不長,但是還是蠻占篇幅的,所以簡要的說明一下流程。

主要由三部分組成,一是素材,圖片音頻之類的文件,二是Python代碼,三是kv文件,這個kv文件有點像 html 中的css。

Python代碼的文件名一般命名為 main.py

然後一定有一個叫做 XXXApp 的類,並繼承 App。

比如該類叫做GameApp,那麼該目錄下的kv文件則必須為Game,如上圖所示,如果不是,那麼kv文件中的一些設定就不會生效。

比如設定一個標籤

Label:

id: time

text: ‘xxxx’

font_size: 60

id為time,text文本內容為’xxxx’,然後字體為60

好吧,點到為止吧,不過似乎什麼都沒點到~~~

你還有什麼想要補充的嗎?

你在看嗎?一起成長

python使用br打包發佈apk

如下;

py如果沒有Qt \\ bin,您可以複製本文件Qt網站。如果找不到現有PyQt5插件目錄的錯誤出現在包裝過程中,然後,1)找到PyQt5文件夾\/圖書館\/插件路徑下蟒蛇目錄下安裝,並複製內容;2)按照下面的錯誤報告一個句子,例如,如下:路徑檢查:_build \/圖書館\/插件的內部去C驅動和創建它們。最後,將剛才複製的複製進去,然後再做一次,包成功。特別注意:如果你發現你可以在你的電腦打開它的包裝完成後,但你不能打開它在別人的電腦,錯誤報告如下:xxx未能執行腳本。在這個時候,我們需要替換上面的命令在步驟4 w c,然後刪除所有的東西都打包和重新包裝。c程序可以打開終端窗口cmd的形式,這樣操作失敗時,將一個特定的錯誤報告,具體的錯誤將被修改。

怎麼用python在oppo手機上編程

步驟如下:

1、在百度或瀏覽器上方搜索框輸入:

就會進入這樣的界面。

2、點進去之後、先往下滑,不要點擊下載下載。F-DROID,往下拉看到下載APK的藍色字體,點進去他就會彈出一個下載界面,即安裝Termux的界面。

3待下載完畢後,進入安裝頁面,放心安裝,完全不會有病毒,點擊安裝。

4、安裝完成,點擊打開或在桌面找到應用點擊進去,接下來是使用他寫Python最關鍵的步驟了,進去Termux APP之後在Termux APP的界面中輸入:pkg install python則會自動下載Python的解碼器以便正常運行我們的程序。

5、完畢以後,則會看到下方出現一個對話框,就是最後確定我們是否要安裝Python的解碼器,Y代表yes(就是確認)N代表no(就是不,取消),如果確認,請輸入Y然後點擊回車鍵將會再次出現下載提示框,如果發現,底下的下載欄不見了,就再次輸入pkg install python,然後依次點擊Y,它就會自動接着下載了,如何知道Python解碼器是否安裝完成?只需輸入Python即可,它會彈出窗口,如果窗口顯示pkg install python,即代表未下載完成,輸入pkg install python按提示操作即可;如果窗口顯示Python的安裝版本信息的話就代表成功。

6、接下來是最後一步了,大家只需在下方打出:print(“hello world”),激活Python即可。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/157580.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-18 20:01
下一篇 2024-11-18 20:01

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29

發表回復

登錄後才能評論