当前位置: 首页 > news >正文

Android调用python库和方法的实现

Android调用python有几种方法,这里以最推荐的方法为例:Android使用Chaquopy框架集成python。

一、电脑配置Python环境

首先电脑需要配置Python环境,如果已配置,请忽略此步操作。

1.进入Python官网:https://www.python.org

在这里插入图片描述

2.下载稳定版本

在这里插入图片描述
【Stable Releases】:稳定发布版本

【Pre-releases】:预发布版本

【Windows embeddable package】:Windows可嵌入程序包,通俗一点就是一个压缩包。

3.安装Python

3.1 找到下载的python-3.13.5-amd64.exe,双击安装

在这里插入图片描述

3.2 点击【Customize installation】进行自定义安装

在这里插入图片描述

3.3 所有功能全部默认勾选,单击【Next】下一步

在这里插入图片描述
【Documentation】:安装Python文档文件。

【pip】:安装pip,这个是一个安装和管理Python包的工具,就是以后你可以通过Win+R输入cmd回车,然后输入pip install+包名下载相应的python模块。

【tcl/tk and IDLE】:安装tkinter和IDLE开发环境。

【Python test suite】:安装标准库测试套件。

【py launcher】: Python启动器。【for all user】所用用户(需要管理员权限)两个一起勾选后会安装全局Python启动器,使启动Python变得更容易。

3.4 修改安装路径

在这里插入图片描述
【Associate files with Python】:将文件与Python关联。

【Create shortcuts for installed applications】:为已安装的应用程序创建快捷方式。

【Add Python to environment variables】:将Python添加到环境变量里。

3.5 安装完成

在这里插入图片描述
在这里插入图片描述

3.6 检查Python是否安装成功

Win+R打开运行窗口输入“cmd”,点击【确定】或者回车键,打开dos窗口,输入python -V点击回车键查看Python版本号。

python -V

在这里插入图片描述
能输出Python具体的版本号,说明Python环境安装成功

二、Android项目中配置Chaquopy框架

1.在项目libs.version.toml添加chaquo库

pgp = "16.0.0"[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
android-python = { id = "com.chaquo.python" , version.ref = "pgp" }

2.在项目build.gradle.kts添加chaquo插件

plugins {// 声明插件但不应用alias(libs.plugins.android.application) apply falsealias(libs.plugins.android.python) apply false
}

3.在app的build.gradle.kts中引入chaquo插件

plugins {alias(libs.plugins.android.application)alias(libs.plugins.android.python)
}

build.gradle.kts中添加chaquopy闭包和ndk闭包

        chaquopy {defaultConfig {buildPython("E:/python/Python313/python.exe")  // 或您的Python路径pip {install("numpy")install("pandas")// 其他需要的包}}}ndk {abiFilters.addAll(listOf("armeabi-v7a", "arm64-v8a", "x86", "x86_64"))}

添加完成,点击sync now构建项目

4.添加Python文件

在项目app/src/main中新建python文件夹,将提前准备好的hello.py放入python文件夹中,hello.py的内容如下:

# hello.py
def greet(name):return f"Hello, {name}! Welcome to Chaquopy."def add_numbers(a, b):return a + b

5.Android 代码中调用Python代码

                if (!Python.isStarted()) {Python.start(new AndroidPlatform(mContext));}PyObject pyObjectString = Python.getInstance().getModule("hello").callAttr("greet", "Android");PyObject pyObjectInt = Python.getInstance().getModule("hello").callAttr("add_numbers", 1, 2);LogUtils.i("调用python结果:"+pyObjectString.toString()+"  "+pyObjectInt.toInt());

如果打印结果如下,说明调用成功

调用python结果:Hello, Android! Welcome to Chaquopy.  3
http://www.dtcms.com/a/306502.html

相关文章:

  • 开源项目:排序算法的多种实现方式
  • DAY15-指针(3)
  • 解决:React Native 中常见的 状态栏遮挡内容
  • python 中 TypeError: self类型对象传入错误解决办法
  • 在职申硕,怎么选适合自己的学科专业呢?
  • 计算机网络1-3:三种交换方式
  • sed编程入门
  • Android RTMP推送|轻量级RTSP服务同屏实践:屏幕+音频+录像全链路落地方案
  • 本地 docker 部署 HAR包分析工具 harviewer
  • 2025年7月技术问答第5期
  • MySQL: with as与with RECURSIVE如何混合使用?
  • 【算法】十大排序算法超深度解析,从数学原理到汇编级优化,涵盖 15个核心维度
  • 专题:2025机器人产业技术图谱与商业化指南|附130+份报告PDF、数据汇总下载
  • C++实战:抖音级视频应用开发精髓
  • LazyLLM教程 | 第2讲:10分钟上手一个最小可用RAG系统
  • [极客时间]LangChain 实战课 -----|(11) 记忆:通过Memory记住客户上次买花时的对话细节
  • macOS 设置 Claude Code
  • 02 NameServer是如何管理Broker集群的
  • 【STM32-HAL】 SPI通信与Flash数据写入实战
  • Elasticsearch(ES)基础语法(笔记)(持续更新)
  • MySQL索引和事务笔记
  • 如何通过项目管理系统提升交付率
  • Kafka 重复消费与 API 幂等消费解决方案
  • IO复用实现并发服务器
  • 【PZ7020-StarLite 入门级开发板】——FPGA 开发的理想起点,入门与工业场景的双重优选
  • 【工具】jsDelivr CDN完全指南:免费高速的开源项目CDN服务
  • Apache Ignite 与 Spring Boot 集成
  • Linux 进程管理与计划任务设置
  • 【Dv3admin】ORM数据库无法查询的问题
  • 如何修改VM虚拟机中的ip