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

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.lryc.cn/news/607778.html

相关文章:

  • 【Leetcode hot 100】49.字母异位词分组
  • [mssql] 分析SQL Server中执行效率较低的SQL语句
  • imx6ull-驱动开发篇6——Linux 设备树语法
  • 快速了解决策树
  • 四、Portainer图形化管理实战与Docker镜像原理
  • 音视频学习(四十五):声音的产生
  • 图漾相机-ROS1_SDK_ubuntu 4.X.X版本编译
  • 档案馆可视化:历史宝库的数字新貌
  • Thread 中的 run() 方法 和 start() 方法的
  • JavaScript:Ajax(异步通信技术)
  • 编译器工作原理的显微镜级拆解
  • 个人电脑部署私有化大语言模型LLM
  • Python爬虫实战:研究mahotas库,构建图像获取及处理系统
  • 重型机械作业误伤预警响应时间缩短80%!陌讯多模态识别算法在工程现场的应用优化
  • build文件夹下面的主要配置文件
  • Day 29: 复习
  • 设计模式篇:在前端,我们如何“重构”观察者、策略和装饰器模式
  • (LeetCode 面试经典 150 题) 138. 随机链表的复制 (哈希表)
  • PyTorch 中 Tensor 统计学函数及相关概念
  • linux编译基础知识-库文件标准路径
  • 3D,对比2D孰优孰劣?
  • SEA-RAFT:更简单、更高效、更准确的RAFT架构
  • 重生之我在暑假学习微服务第八天《OpenFeign篇》
  • 【C语言】内存函数与数据在内存中的存储
  • 推荐系统学习笔记(六)自监督学习
  • Kubernetes 构建高可用、高性能 Redis 集群实战指南
  • Ubuntu系统VScode实现opencv(c++)视频及摄像头使用
  • ffmpeg命令和ffplay命令详解
  • 垃圾收集器ParNewCMS与底层三色标记算法详解
  • 【云计算】云主机的亲和性策略(四):云主机组