• Android-Studio与Python环境配置


    Chaquopy

    官方链接:Chaquopy – Python SDK for Android

    Chaquopy的作用:使用Chaquopy在Android Studio添加Python环境

    1、环境准备

    我的环境:
    Android Studio 4.0 & Python 3.9

    确定设备上有Python环境;

    python下载Download Python | Python.org

    2、配置工程文件

    创建一个Android工程,在项目目录下的build.gradle文件中添加以下代码:

    maven { url "https://chaquo.com/maven" }
    classpath "com.android.tools.build:gradle:4.0.0"

     在app/build.gradle文件中添加以下代码:

    apply plugin: 'com.chaquo.python'
    
    1. ndk {
    2. // 指定abi,如需在模拟器调试,增加"x86",否则指定"armeabi-v7a"即可
    3. abiFilters "armeabi-v7a", "x86"
    4. }
    1. python {
    2. // 指定python路径 注意更换为自己的Python路径!!
    3. buildPython "D:\\python 3.9\\python.exe"
    4. //安装第三方库
    5. //pip{
    6. //install "opencv-python"
    7. //install "numpy"
    8. //}
    9. }

    配置完成后 点击右上角的Sync Now

    确定在build框中显示“successful”再进行后续操作。

    点击File -- setting 到设置界面,点击plugin,搜索python,在搜索结果中选择并安装Python Community Edition,安装成功后,按钮会变为Restart IDE,重启Android Studio即可;

     

     

    右击src/main目录下"python”的文件夹,如果在“new”中有“Python File”,则表示配置文件成功!!!

    3. 测试调用Python代码

    在"python”的文件夹新建text文件

    1. def sayHello():
    2. res="Hello World1"
    3. return res

    MainActivity文件

    导入chaquopy的相关类:

    1. import com.chaquo.python.Kwarg;
    2. import com.chaquo.python.PyObject;
    3. import com.chaquo.python.android.AndroidPlatform;
    4. import com.chaquo.python.Python;

    1. // 初始化Python环境
    2. if (!Python.isStarted()){
    3. Python.start(new AndroidPlatform(this));
    4. }
    5. Python python=Python.getInstance(); // 初始化Python环境
    6. PyObject pyObject=python.getModule("text");//"text"为需要调用的Python文件名
    7. PyObject res=pyObject.callAttr("sayHello");//"sayHello"为需要调用的函数名
    8. //中间弹出信息
    9. AlertDialog textTips = new AlertDialog.Builder(MainActivity.this)
    10. .setTitle("Tips:")
    11. .setMessage(""+res)
    12. .create();
    13. textTips.show();

  • 相关阅读:
    保研/考研简历中数模竞赛的经历,就该这样写
    vue学习-03vue父子组件与ref属性
    2022年9月8号Java23设计模式(课时七)桥接模式
    JVM(八股文)
    成员函数中的形参的缺省值是否可以使用成员变量?
    数据结构与算法(四)图形结构篇
    Segmentation fault 的bug解决
    Spring源码解析之八finishBeanFactoryInitialization方法即初始化单例bean
    【DL】时间序列的深度学习
    VS2022+QT使用VTK教程
  • 原文地址:https://blog.csdn.net/qq_55172460/article/details/126210910