1. 前言
當今的程式開發中,Python已經成為了一個非常流行的語言,因為它可以快速編寫出高效的代碼。然而,如果要將Python結合到Android App(應用程式)中,需要進行一些複雜的設置和調整。Chaquopy是一個可以幫助開發者在Android App中輕鬆使用Python代碼的工具。本文將介紹如何安裝Chaquopy,讓你的Android App更加強大。
2. Android Studio搭配Chaquopy環境建置
以下環境是在Windows 10下建置。
a. 根目錄settings.gradle文件添加。(圖1)
maven { url "https://chaquo.com/maven" }
圖1 |
id 'com.chaquo.python' version '14.0.2' apply false
圖2 |
c. app內build.gradle檔案中plugins區塊添加。(圖3)
id 'com.chaquo.python'
圖3 |
ndk {
abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
}
圖4 |
e. 配置python環境,此教學使用windows環境進行建置,因此需要依照個人電腦中python配置路徑進行修改,如果沒有安裝python,請自行安裝。
在app裡面的build.gradle中defaultConfig區塊添加。(圖5)
python {
buildPython "C:/Users/User/AppData/Local/Programs/Python/Python38/python.exe"
}
圖5 |
f. 最後Android Studio畫面上會出現提示框,點擊Sync Now就可進行同步,完成之後,Chaquopy套件就成功加入項目內了。(圖6)
圖6 |
3. Android內使用 python
a. 在app內àsrcàmain新增python資料夾,資料夾內在新增一個hello_python.py檔案。(圖7)
圖7 |
b. hello_python.py檔案內添加以下文字。
def Python_say_Hello():
print("Hello Python")
c. MainActivity檔案內增加調用python代碼,調用python代碼需要引用相關程式庫。(圖8)
import com.chaquo.python.Python;
import com.chaquo.python.PyObject;
import com.chaquo.python.android.AndroidPlatform;
//初始化python環境
if(!Python.isStarted()){
Python.start(new AndroidPlatform(this));
}
Python python=Python.getInstance();
//調用hello_python.py裡面的Python_say_Hello函式
PyObject pyObject=python.getModule("hello_python");
pyObject.callAttr("Python_say_Hello");
圖8 |
d. 最後執行Run app既可成功使用,可以在Logcat中看到python输出。(圖9)
圖9 |
結語
透過以上的教學,相信各位已經能夠成功透過Android Studio將Chaquopy建置成功;使用Chaquopy,各位可以輕鬆地將Python代碼整合至你的Android App中,從而實現更複雜的功能。如果你是一個Android App開發者,建議你試試Chaquopy,體驗它帶來的好處,有問題的看官們歡迎聯繫我,我們一同討論。
喜歡我的帖子,請幫我按個”收藏”,我們下回見。
Q&A
- Chaquopy支持哪些Python版本?
Ans:Chaquopy支持Python 2.7和Python 3.3以上版本。
- Chaquopy支援的Android API版本是哪些?
Ans:Chaquopy支援Android 4.4(API level 19)及以上版本。
- 進行Sync Now遇到以下錯誤如何解決?
debug: This version of Chaquopy requires minSdkVersion 21 or higher.
Ans:app裡面的build.gradle中defaultConfig區塊內的minSdk改成23版本就可以成功
- 進行Run app,遇到以下錯誤如何解決?
Dependency 'androidx.appcompat:appcompat-resources:1.6.1' requires 'compileSdkVersion' to be set to 33 or higher.
Ans: app裡面的build.gradle中dependencies區塊內implementation 'androidx.appcompat:appcompat:1.6.1'改成implementation 'androidx.appcompat:appcompat:1.1.0'
- Chaquopy是否支持使用Python的第三方庫?
Ans:有支援,此部份下一篇博文會介紹,近請期待。
評論
花哈哈
2023年5月31日
小貓
2023年5月30日