Kivy跨平臺開源框架之Android打包
- .
- 一、 自己搭建Buildozer環境
- 二、 使用docker容器
在網上找到三種python打包成android包的方式:
1、可以使用 python-for-android 為 android 創建一個包,
2、可以使用 Buildozer 工具自動完成整個程序,
3、可以使用 Kivy Launcher 打包,這樣不用編譯就能運行 Kivy 應用,
嘗試了其中buildozer 的方式,第一次嘗試的時間最長,把所有自己能解決的問題都弄了,但最后還是沒有成功,還有一種是嘗試下載docker鏡像的方式,此方式成功了,現在把兩種方式都貼出來,望諸君能通過第一種方式找到最終解決方法,同時第二種方式可以直接打成apk包
.
一、 自己搭建Buildozer環境
系統:uabntu18.04
Buildozer 是一個將整個構建程序自動化的工具,它會下載和設定 pythonfor-android 需要的所有依賴專案,包括 Android 的 SDK 和 NDK,然后會構建 APK ,這個 APK 可以自動推送到設備上
- 更換國內apt-get源 :地址: https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/.

將下面檔案里的內容洗掉,貼入上面的資料
sudo vim /etc/apt/sources.list
- 安裝lib
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install make git zip unzip dpkg libffi-dev zlib1g-dev
sudo apt-get install cython cython3 autoconf libtool libevent-dev
sudo apt-get install openjdk-8-jdk
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt-get install libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libssl-dev openssl
- 安裝python3 和pip3
sudo apt-get update
sudo apt-get install python3
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 200
sudo update-alternatives --config python
sudo curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo python3 get-pip.py
sudo pip3 install cpython
- 安裝cmake
確認下載的版本:cmake-3.11.0.tar.Z 點擊下載.
安裝如下:
tar xf cmake-3.11.0.tar.Z
cd cmake-3.11.0.tar.Z
sudo ./configure
sudo make && sudo make install
- 安裝buildozer 也可以到 https://github.com/kivy/buildozer 獲取 buildozer:
sudo pip3 install --upgrade buildozer #升級安裝buildozer
上面的命令就會把 buildozer 安裝到你的作業系統中,接下來就是到你的專案目錄然后運行如下命令:
cd 專案路徑
建立main.py檔案
sudo buildozer init
修改buildozer.spec檔案:log_level = 2
開啟外網代理,執行:
sudo pip3 install --user --upgrade buildozer
sudo buildozer -v android debug
至此結束,最侄訓是報錯,有可能是系統或者某些設定還是有問題,如有興趣的童鞋可以再多做些嘗試,至少方向是對的
二、 使用docker容器
簡單暴力,直接在網上下載相關容器,再做配置,最終成功,步驟如下:
系統:uabntu18.04 其他系統應該也行,可自己嘗試
- 安裝 所需插件
sudo apt-get update
sudo apt-get install python3-distutils python3-pip
sudo apt-get install vim
- 安裝pip
sudo curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo python3 get-pip.py
- 安裝docker 并下載kivy鏡像
sudo apt-get install docker.io
sudo docker pull kivy/buildozer
- 運行一個容器
sudo mkdir -p /home/jicm/android 創建和docker容器共享目錄,可將專案復制到此檔案夾下,進入docker容器后會在容器/home/user/src/目錄下出現
sudo docker run -itd --name buildozer --privileged=true --volume "$PWD":/home/jicm/android -v /home/jicm/android:/home/user/src/ --entrypoint /bin/bash kivy/buildozer
- 進入容器
sudo docker exec -it buildozer /bin/bash
- 修改組態檔,(修改國內源)
sudo apt-get install vim
sudo vim /home/user/.local/lib/python3.8/site-packages/buildozer/targets/android.py
修改位置如下:
將kivy改為mirrors

將github.com改為gitee.com

加入環境變數
#>sudo vim ~/.bashrc
export PATH=$PATH:/usr/lib/python3.8
- 將需要打包的檔案放入指定目錄,開始打包
mkdir -p /home/user/src
cd /home/user/src
buildozer init
buildozer android debug
注意第一次打包很慢,有些需要安裝環境,國外網速太慢,也有可能因為網速原因安裝失敗,需要多試幾次(還不錯一次成功)
感謝如下連接:
kivi android打包.
Kivy跨平臺開源框架之Android打包.
Buildozer構架安卓應用.
第一次嘗試Kivy(windows+Android).
將使用Kivy的Python程式打包為安卓的apk檔案(使用python-for-android).
kivy菜鳥.
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/297606.html
標籤:其他
上一篇:理財通app的設計與實作(一)
