国外家装设计网站,广告设计,网站名称设置,国外 设计 网站Pipy 作为一个高性能、低资源消耗的可编程代理#xff0c;通过支持多种计算架构和操作系统#xff0c;Pipy 确保了它的通用性和灵活性#xff0c;能够适应不同的部署环境#xff0c;包括但不限于云环境、边缘计算以及物联网场景。它能够在 X86、ARM64、海光、龙芯、RISC-V …
Pipy 作为一个高性能、低资源消耗的可编程代理通过支持多种计算架构和操作系统Pipy 确保了它的通用性和灵活性能够适应不同的部署环境包括但不限于云环境、边缘计算以及物联网场景。它能够在 X86、ARM64、海光、龙芯、RISC-V 等架构上运行支持众多 Linux 发行版以及 FreeBSD、macOS、Windows 和国产操作系统。
总有用户问起 Pipy 能否运行在 Android 上运行今天就来探索如何在 Android 平台上运行 Pipy。
环境准备
测试环境
本地 macOS 地址为 10.1.1.18安装 Android 命令行工具 adbmacOS 上可通过 brew install android-platform-tools 安装Android 设备地址为 10.1.1.97 该设备 CPU 用的是 Cortex-A53arm64-v8a 架构
在开始之前确保 Android 设备上已经开启开发者模式。通过 adb connect 命令无线连接到设备。
adb connect 10.1.1.97:5555
connected to 10.1.1.97:5555可以通过命令查看当前已连接的设备。
adb devices
List of devices attached
10.1.1.97:5555 device安装 Pipy
接下来 下载 Pipy Android 安装包并解压缩得到两个文件pipy 和 libcshared.so分别是二进制文件和动态链接库。
通过 adb push 命令将其复制到设备中这里设备目录我们使用 /data/local/tmp。
adb push pipy /data/local/tmp
adb push libc_shared.so /data/local/tmp安装完 Pipy 之后我们通过 adb shell 通过命令行访问设备并验证 Pipy 运行情况。
LD_LIBRARY_PATH. ./pipy -v | grep Version
Version : 0.99.0-2测试
在 Android 设备上可以通过命令 dumpsys SERVICE_NAME 来获取系统服务信息有了 Pipy 我们就可以通过 HTTP 来查看系统信息。
下面是一个十几行的 js 脚本在这个脚本中启动了监听在 8081 和 8082 端口的两个服务。第一个服务直接返回 Hi Pipy!第二个服务定义了几个 API可以返回 CPU 以及其他的系统信息。
pipy.listen(8081, $$.serveHTTP(new Message(Hi Pipy!)))pipy.listen(8082, $ $.serveHTTP(function (req) {var path req.head.pathif (path /cpu) {var cpuF pipy.exec(getprop ro.product.cpu.abi).toString().trim(\n)return new Message(cpuF)} else if (path.startsWith(/dump/)) {var service path.substring(6)var sysInfo pipy.exec(dumpsys ${service}).toString().trim(\n)return new Message(sysInfo)} else {return new Message({status: 400}, Bad Request!)}}
))在设备上新建一个文件比如 main.js 将脚本的内容复制进去。
接下来执行命令来启动服务。
LD_LIBRARY_PATH. ./pipy main.js你将看到 Pipy 成功启动并监听端口。
2024-02-28 07:21:44.963 [INF] [listener] Listening on TCP port 8081 at 0.0.0.0
2024-02-28 07:21:44.964 [INF] [listener] Listening on TCP port 8082 at 0.0.0.0
2024-02-28 07:21:44.964 [INF] [worker] Thread 0 started现在可以发起请求来验证了。
curl http://10.1.1.97:8081
Hi Pipy!查看 CPU 信息。
curl http://10.1.1.97:8082/cpu
arm64-v8a查看 cpu 占用。
curl -s http://10.1.1.97:8082/dump/cpuinfo | grep -i total
18% TOTAL: 16% user 1.8% kernel 0% softirq也可以通过下面的请求查看当前运行了哪些服务然后通过 API /dump/SERVICE_NAME 来查看对应服务的信息。
curl http://10.1.1.97:8082/dump/-l
Currently running services:DockObserverSurfaceFlingeraccessibilityaccountactivityalarmandroid.security.keystoreandroid.service.gatekeeper.IGateKeeperServiceappopsappwidgetassetatlasaudiobackupbattery...总结
今天我们探索了如何在 Android 设备上运行 Pipy并演示如何通过编程方式使用 HTTP 获取设备的运行状态。通过这个过程我们不仅可以看到 Pipy 处理网络请求的能力还能了解到其执行本地命令的功能。
Pipy 提供的 丰富 API 支持 开启了无限的可能性让我们能够以更灵活、创新的方式利用这个工具。无论是开发者还是技术爱好者都能通过 Pipy 实现各种复杂的网络交互和数据处理任务从而充分发挥 Android 设备的潜能。
关于 Flomesh
Flomesh易衡科技成立于 2018 年自主研发并开源了高性能可编程代理 Pipy(https://github.com/flomesh-io/pipy)。以 Pipy 为基础Flomesh 研发了软件负载均衡、服务网格两款软件产品。为工信部认证的可信云产品、可信开源项目。
Flomesh 核心竞争力来自完全自研的核心组件 Pipy该组件高性能、高可靠、低延迟、可编程、可扩展、低依赖采用 C 开发内置自研的 JS 引擎支持适用 JS 脚本做扩展开发。支持包括 x86、arm、龙芯、海光等硬件 CPU 架构支持 Linux、FreeBSD、OpenWrt 等多种核心的操作系统。
Flomesh 成立以来以技术为根基、以客户为导向产品被应用在头部股份制商业银行总行、大型保险公司、运营商总部以及研究院等众多客户和多个场景。