如何在 Ubuntu 19.04 上为 Android 的 Termux 应用安装/模拟 Swift

如何在 Ubuntu 19.04 上为 Android 的 Termux 应用安装/模拟 Swift

这是我在这个论坛的第一个问题。抱歉我的英语不好,如果这里不适合提问,请指教。

我尝试在 Ubuntu 19.04 上安装 Swift适用于 Android 的 Termux 应用程序以下是本论坛中另一个问题的答案:(如何在 Ubuntu 19.04 上安装 Swift?)。

原因是当我在飞机上或没有网络连接时,可以继续离线编译代码。下面是所遵循的步骤(简要):

1-由于无法为 Ubuntu 19.04 安装 Swift,因此我按照推荐下载了版本 18.04 的文件(swift-4.2-DEVELOPMENT-SNAPSHOT-2018-10-30-a-ubuntu18.04.tar.gz)。

2-提取文件并将文件夹复制到主目录以便在本地运行。

3-使用以下命令添加了 Swift 的路径,但没有起作用:

$ export PATH="/home/your-username/swift/swift-4.2-DEVELOPMENT-SNAPSHOT-2018-10-30-a-ubuntu18.04/usr/bin:$PATH"  
$ source ~/.bashrc

4-然后我根据在网上找到的资料对.bashrc进行了修改:

$ echo "export PATH=/home/myusername/swift/swift-4.2-DEVELOPMENT-SNAPSHOT-2018-10-30-a-ubuntu18.04/usr/bin:$PATH" >> ~/.bashrc
$ source ~/.bashrc

5-.bashrc 文件末尾写入的输出如下:

export PATH=/home/user-name/swift/swift-4.2-DEVELOPMENT-SNAPSHOT-2018-10-30-a-ubuntu18.04/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

6-然后我尝试在终端中运行 Swift,但收到以下错误消息:

$ swift                       
bash: swift: command not found

对我来说,echo 命令似乎附加了 swift-4.2.../usr/bin 路径以及 Ubuntu 的 Termux 中已设置的其他 PATH(由 collon 分开),但它不允许我从终端调用 Swift REPL。

请帮忙,谢谢

编辑:我的环境

  • 小米 Redmi Note 4x - 处理器 64 位 ARMv8-A
  • Termux 应用程序:

    $ uname -a Linux localhost 3.18.31-perf-g653a83a #1 SMP PREEMPT 周一 1 月 28 日 10:05:53 WIB 2019 aarch64 Android

  • 关于 Termux 的 PRoot 包:

    包装:proot

    描述:为非 root 用户模拟 chroot、bind mount 和 binfmt_misc

    主页:https://proot-me.github.io

    https://github.com/proot-me/PRoot

    PRoot is a user-space implementation of chroot, mount --bind, and binfmt_misc. This means that users don't need any privileges or setup to do things like using an arbitrary directory as the new root filesystem.
    
    
    The benefits of enabling PRoot include running Linux operating systems in a Termux chroot on an Android smartphone and tablet, and Chromebook. 
    
  • 已安装 Ubuntu 发行版(来源:https://wiki.termux.com/wiki/Ubuntu):

    root@localhost:~# uname -a Linux localhost 3.18.31-perf-g653a83a #1 SMP PREEMPT 2019 年 1 月 28 日星期一 10:05:53 WIB aarch64 aarch64 aarch64 GNU/Linux

    root@localhost:~# cat /etc/*-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=19.04 DISTRIB_CODENAME=disco DISTRIB_DESCRIPTION="Ubuntu 19.04" NAME="Ubuntu" VERSION="19.04 (Disco Dingo)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 19.04" VERSION_ID="19.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=disco UBUNTU_CODENAME=disco

有没有办法用 Qemu 来模拟它?如果有,你能指导我吗?

谢谢

答案1

感谢@Archisman Panigrahi,我意识到我的系统和 Swift 二进制文件来自不同的架构类型。我在 GitHub 上找到了一些 Swift for ARM 项目,但它们缺少一些东西,所以我正在等待完全支持的 Swift for ARM 官方版本。

相关内容