当今的程式开发中,Python已经成为了一个非常流行的语言,因为它可以快速编写出高效的代码。然而,如果要将Python结合到Android App(应用程式)中,需要进行一些复杂的设置和调整。Chaquopy是一个可以帮助开发者在Android App中轻松使用Python代码的工具。本文将介绍如何安装Chaquopy,让你的Android App更加强大。
以下环境是在Windows 10下建置。
a. 根目录settings.gradle文件添加。(图1),maven { url "https://chaquo.com/maven" },
b. 专案内的build.gradle添加。(图2)
id 'com.chaquo.python' version '14.0.2' apply false,
c. app内build.gradle档案中plugins区块添加。(图3),id 'com.chaquo.python',
d. 然后在app里面的build.gradle中defaultConfig区块添加。(图4)
ndk { abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"},
e. 配置python环境,此教学使用windows环境进行建置,因此需要依照个人电脑中python配置路径进行修改,如果没有安装python,请自行安装。
在app里面的build.gradle中defaultConfig区块添加。(图5),python { buildPython "C:/Users/User/AppData/Local/Programs/Python/Python38/python.exe"},
f. 最后Android Studio画面上会出现提示框,点击Sync Now就可进行同步,完成之后,Chaquopy套件就成功加入项目内了。(图6),3. Android内使用 python
a. 在app内àsrcàmain新增python资料夹,资料夹内在新增一个hello_python.py档案。(图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");,
d. 最后执行Run app既可成功使用,可以在Logcat中看到python输出。(图9),结语
透过以上的教学,相信各位已经能够成功透过Android Studio将Chaquopy建置成功;使用Chaquopy,各位可以轻松地将Python代码整合至你的Android App中,从而实现更复杂的功能。如果你是一个Android App开发者,建议你试试Chaquopy,体验它带来的好处,有问题的看官们欢迎联系我,我们一同讨论。
喜欢我的帖子,请帮我按个”收藏”,我们下回见。
Q&A
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',5. Chaquopy是否支持使用Python的第三方库?
Ans:有支援,此部分下一篇博文会介绍,近请期待。