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 |
b. 专案内的build.gradle添加。(图2)
id 'com.chaquo.python' version '14.0.2' apply false
图2 |
c. app内build.gradle档案中plugins区块添加。(图3)
id 'com.chaquo.python'
图3 |
d. 然后在app里面的build.gradle中defaultConfig区块添加。(图4)
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
1.Chaquopy支持哪些Python版本?
Ans:Chaquopy支持Python 2.7和Python 3.3以上版本。
2.Chaquopy支援的Android API版本是哪些?
Ans:Chaquopy支援Android 4.4(API level 19)及以上版本。
3.进行Sync Now遇到以下错误如何解决?
debug: This version of Chaquopy requires minSdkVersion 21 or higher.
Ans:app里面的build.gradle中defaultConfig区块内的minSdk改成23版本就可以成功
4.进行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'