Android搭建python环境

通过wifi连接adb:

首先下载无线abd工具:

https://www.downkuai.com/android/170494.html

运行效果图:

然后开启后根据自身ip即可连接:

adb connect ip:5555

安装busybox:

首先执行如下命令查看手机架构:

adb shell
cat /proc/cpuinfo

可以看到如图信息: 

 

然后去busybox官网下载busybox: 

https://busybox.net/downloads/binaries/

对应如下表可以发现属于arm64-v8a: 

然后下载对应的armv8al版本即可: 

然后将下载的busybox上传到手机: 

adb push D:\permeate\android\busybox-armv8l /sdcard

上传成功后开始挂载system,使其具有可写权限,这里需要注意android的版本,我是Android10是8以上使用如下方法:

mount -o remount -o rw /

不然回报 mount: '/system' not in /proc/mounts错误:

然后复制 busybox 文件到 /system/xbin,并为其分配“可执行”的权限:

cp /sdcard/busybox-armv8l /system/xbin/  如果没有xbin则新建一个mv busybox-armv8l busyboxchmod 777 busyboxbusybox --install .

执行完成上面的命令后,如果没有报错即可。 

安装termux:

下载地址如下:

https://github.com/termux/termux-app/releases

 安装成功后可以使用pkg安装python3

手机上输入:
pkg install python3 

安装python库报错内容:dlopen failed: library “libexpat.so.1“ not found

pkg upgradepkg install mlocate

手机如果是root环境,可以安装 tsu:

pkg install tsu
tsu

安装完成后需要找到安装路径,可以使用find查找:

find ./ -name python

运行python:

找到路径后就可以运行python脚本,上传你的python脚本,执行即可: 

/data/data/com.termux/files/usr/bin/python3 main.py

如果运行定时任务爆如下错误:

Run time of job "job (trigger: cron[hour='9', minute='53'], next run at: 2024-02-01 09:53:00 CST)" was missed by 0:00:24.830513

定时任务代码需要添加misfire_grace_time

scheduler = BlockingScheduler()
scheduler.add_job(job, 'cron', hour='9', minute='59',misfire_grace_time=60)

放入后台运行:

nohup /data/data/com.termux/files/usr/bin/python3 -u android-main.py >>log.txt &
ps -def | grep "python"

总结:

        安装方法如上所示,其中碰到的bug也做了记录,使用中最好使用root手机,否则权限太低会出很多权限问题。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/448358.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1.27CNN(输入层,特征提取(卷积,最大池化),输出),损失函数(KL散度,交叉熵推导),熵(物理、信息熵推导),点积矩阵运算(CPU,GPU,NPU)

CNN 损失函数 KL散度,交叉熵 B部分是训练集的真实实际值,是常数,C部分是训练结果,目的是要让这个损失最小化,与模型参数紧密相关,取出C(带负号),C非负 就是更精简的损失…

0202-2-存储器管理

第四章:存储器管理 存储器的层次结构 多层结构的存储系统 存储器的多层结构 CPU寄存器主存辅存 可执行存储器 寄存器和主存的总称访问速度快,进程可以在很少的时钟周期内用一条load或store指令完成存取。 主存储器与寄存器 高速缓存和磁盘缓存 程序的装入和链…

Python爬虫学习之scrapy库

一、scrapy库安装 pip install scrapy -i https://pypi.douban.com/simple 二、scrapy项目的创建 1、创建爬虫项目 打开cmd 输入scrapy startproject 项目的名字 注意:项目的名字不允许使用数字开头 也不能包含中文 2、创建爬虫文件 要在spiders文件…

【揭秘SAML协议 — Java安全认证框架的核心基石】 从初识到精通,带你领略Saml协议的奥秘,告别SSO的迷茫与困惑

如何用Java构建安全认证框架的稳固基石 SAML协议简介SAML作用和效果为什么要使用SAML SAML角色组成SAML是怎么工作核心协议详解RelayState标志RelayState在防范CSRF攻击中的具体操作 SAMLRequest请求体元素解释 用户重定向IDP数据信息登录成功之后 注意:特此声明&am…

Android组件化中的Arouter学习

假设现在有两个业务组件登录和问答模块之间需要进行通信,可能会想到用反射的方式,是可以但是会影响性能,而写的代码比较多类名这些要记清楚。 路由可以看做表,每个map对应一张表 我们可以试着这么写,完成MainActivity跳…

20240202在Ubuntu20.04.6下使用whisper.cpp的CPU模式

20240202在Ubuntu20.04.6下使用whisper.cpp的CPU模式 2024/2/2 14:15 rootrootrootroot-X99-Turbo:~/whisper.cpp$ ./main -l zh -osrt -m models/ggml-medium.bin chs.wav 在纯CPU模式下,使用medium中等模型,7分钟的中文视频需要851829.69 ms&#xf…

实习|基于SSM的实习管理系统设计与实现(源码+数据库+文档)

实习管理系统目录 目录 基于SSM的实习管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员功能介绍 (1)管理员登录 (2)实训方向管理 (3)公告信息管理 (4&#xff0…

Python程序设计 函数基础

简单函数 函数:就是封装了一段可被重复调用执行的代码块。通过此代码块可以实现大量代码的重复使用。 函数的使用包含两个步骤: 定义函数 —— 封装 独立的功能 调用函数 —— 享受 封装 的成果 函数的作用,在开发程序时,使用…

交强险投保日期查询接口返回字段说明

API接口是现代互联网应用中重要的组成部分,通过接口的调用可以实现不同系统之间的数据交互和共享。在汽车保险行业中,交强险投保日期查询接口是非常关键的一个接口,本文将详细介绍该接口的返回字段和使用方法。 接口名称:交强险投…

ARP 解析 | 工作原理 | 安全风险及应对策略

介绍 ARP(地址解析协议)是一种网络协议,用于将IP地址映射到相应的物理硬件地址,如MAC地址。ARP的主要目的是在局域网(LAN)上解决IP地址和硬件地址之间的映射关系,以便实现数据包的正确传递。 A…

8. 字符串转换整数 (atoi)-LeetCode(Java)

8. 字符串转换整数 (atoi) 题目:8. 字符串转换整数 (atoi) 请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C 中的 atoi 函数)。 函数 myAtoi(string s) 的算法如下: 读入…

1295584-83-6,NOTA 马来酰亚胺,可通过与铁离子结合增强MRI信号

您好,欢迎来到新研之家 文章关键词:1295584-83-6,NOTA Maleimide,NOTA Mal,NOTA马来酰亚胺 一、基本信息 产品简介:NOTA Maleimide has good water solubility and stability, which enables it to main…