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

Android 运行 deno 的新方法 (3): Termux 胖喵安初

梅开 3 度 !! 这是第 3 篇在 Android 运行 deno 的文章了, 之前的两篇是 《在 Android 运行 deno (aarch64) 的新方法 (glibc-runner)》 《在 Android 运行 GNU/Linux 二进制程序 (proot)》

deno 是个好东西, 可以很方便的编写和运行 js 程序. 感谢 Termux ! 不久前 deno 终于直接编译到 Android 成功了 !! 现在可以直接在 Termux 中安装并运行 deno 啦 ~

但是, 如何在自己的 app 中使用 (运行) deno 呢 ? 胖喵拼音 (pmim) 依赖 deno, 当时 deno 还只是 1.x 版本, 如今 deno 已经升级到 2.x 版本了, 情况发生了变化. 直接编译 deno 超级麻烦 (Android), 窝尝试过, 但是失败了. 所以, 换一种方法, 把 Termux 中编译好的 deno 直接拿过来运行 !

胖喵安初 (azi) 是一个方便在 app 中建立类似 Termux 环境的库, 所以就用胖喵安初来测试运行啦 ~

这里是 穷人小水滴, 专注于 穷人友好型 低成本技术. (本文为 78 号作品. )


相关文章:

  • 《小水滴系列文章目录 (整理)》 https://blog.csdn.net/secext2022/article/details/148834199
  • 《在 Android 设备上写代码 (Termux, code-server)》 https://blog.csdn.net/secext2022/article/details/148369561
  • 《胖喵安初 (azi) Android 应用初始化库 (类似 Termux)》 https://blog.csdn.net/secext2022/article/details/149056417
  • 《在 Android 运行 deno (aarch64) 的新方法 (glibc-runner)》 https://blog.csdn.net/secext2022/article/details/139013270
  • 《在 Android 运行 GNU/Linux 二进制程序 (proot)》 https://blog.csdn.net/secext2022/article/details/136333781
  • 《高版本 Android 如何访问 sdcard/Android/data 目录中的文件 (翻译)》 https://blog.csdn.net/secext2022/article/details/136335220

目录

  • 1 打包 deno (Termux)
  • 2 测试运行 (胖喵安初 azi)
  • 3 总结与展望

1 打包 deno (Termux)

首先, 打开 Termux.

关于如何安装 Termux 请见文章 《在 Android 设备上写代码 (Termux, code-server)》.

在这里插入图片描述

安装 deno 和 ldd, 命令:

pkg install deno ldd

在这里插入图片描述

尝试运行一下 deno:

deno --version

在这里插入图片描述

然后列出 deno 依赖的库文件 (.so):

ldd /data/data/com.termux/files/usr/bin/deno | grep termux

在这里插入图片描述

复制相关文件到 sdcard:

mkdir -p /sdcard/test-deno2
cp /data/data/com.termux/files/usr/bin/deno /sdcard/test-deno2
cp /data/data/com.termux/files/usr/lib/libz.so.1 /sdcard/test-deno2
cp /data/data/com.termux/files/usr/lib/libsqlite3.so /sdcard/test-deno2
touch /sdcard/test-deno2/azi_init.sh

在这里插入图片描述

然后编辑文件 /sdcard/test-deno2/azi_init.sh:

# test deno2 azi_init.sh# 复制 deno
cp $AZI_DIR_SDCARD_DATA/demo/deno $AZI_DIR_APP_DATA
cp $AZI_DIR_SDCARD_DATA/demo/libz.so.1 $AZI_DIR_APP_DATA
cp $AZI_DIR_SDCARD_DATA/demo/libsqlite3.so $AZI_DIR_APP_DATA# 运行 deno
export LD_LIBRARY_PATH=$AZI_DIR_APP_DATA/system/bin/linker64 $AZI_DIR_APP_DATA/deno --version

可以看到, 只有 5 行简单的代码 (shell 脚本).

在这里插入图片描述

最后把这些文件压缩成一个 zip 压缩包:

在这里插入图片描述

获得文件 test-init.azi.zip, 撒花 ~

2 测试运行 (胖喵安初 azi)

然后使用 胖喵安初 进行测试. 关于胖喵安初详见文章 《胖喵安初 (azi) Android 应用初始化库 (类似 Termux)》.

在这里插入图片描述

将上面的压缩包文件复制到 /sdcard/Android/data/io.github.fm_elpac.azi_demo/cache/test-init.azi.zip.

关于如何访问 Android/data 目录请见文章 《高版本 Android 如何访问 sdcard/Android/data 目录中的文件 (翻译)》.

在这里插入图片描述

然后删除 /sdcard/Android/data/io.github.fm_elpac.azi_demo/files 中的文件.


准备完毕, 然后关闭 胖喵安初 (azi demo), 并重新打开.

然后上面写的 azi_init.sh 脚本就会运行 !

在这里插入图片描述

运行成功后就会创建 azi/azi_ok 文件.

在这里插入图片描述

其中 cache/azi_log 是运行日志:

在这里插入图片描述

在这里插入图片描述

打开 -o.txt 文件:

在这里插入图片描述

deno 已经成功运行:

deno 2.2.13 (stable, release, aarch64-linux-android)
v8 13.5.212.10-rusty
typescript 5.7.3

撒花 ~

3 总结与展望

在 Android 上不仅可以在 Termux 中安装运行 deno, 还可以把 deno 拿出来, 在自己的 app 中运行. 使用 胖喵安初 (azi) 可以方便的进行测试.

更有趣的是, 上述操作可以全部在一只手机上完成 !! 距离我们在手机上写代码的 “伟大” 计划, 又近了一步 (狗头)

可爱的 deno 已经在小巧的 Android 手机上跑起来了, 带来了更多可能 ~


本文使用 CC-BY-SA 4.0 许可发布.

http://www.xdnf.cn/news/16782.html

相关文章:

  • vue3pinia
  • 深度学习核心:卷积神经网络 - 原理、实现及在医学影像领域的应用
  • vue3 新手学习入门
  • Elasticsearch 混合检索一句 `retriever.rrf`,把语义召回与关键词召回融合到极致
  • Agents-SDK智能体开发[5]之集成MCP进阶
  • 【vue】创建响应式数据ref和reactive的区别
  • Ⅹ—6.计算机二级综合题23---26套
  • 两个服务之间的大规模数据推送
  • TOGAF指南1
  • Thymeleaf 模板引擎原理
  • 网站QPS多少才算高并发
  • c++和python联合编程示例
  • 5-EP4CE10F17C8-引脚配置
  • MySQL 高并发下如何保证事务提交的绝对顺序?
  • 向量投影计算,举例说明
  • 幂等性校验(订单重复提交问题)
  • X2Doris是SelectDB可视化数据迁移工具,安装与部署使用手册,轻松进行大数据迁移
  • Spring AI MCP:解锁大模型应用开发新姿势
  • 关于继承的一些知识(C++)
  • 层次聚类:无需“猜”K值,如何让数据自己画出“家族图谱”?
  • 深度学习-梯度爆炸与梯度消失
  • 笔试——Day25
  • 深度解读 CSGHub:开源协议、核心功能与产品定位
  • Java:JWT 从原理到高频面试题解析
  • Agents-SDK智能体开发[2]之工具调用
  • Web开发-PHP应用TP框架MVC模型路由访问模版渲染安全写法版本漏洞
  • Mysql group by
  • 机器学习第二课之逻辑回归(二)LogisticRegression
  • 链表【各种题型+对应LeetCode习题练习】
  • 力扣-最大单词长度乘积