V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
beginor
V2EX  ›  .NET

在安卓手机上通过 Termux 运行编译/运行 .NET 应用

  •  
  •   beginor · 2019-10-24 10:40:32 +08:00 · 6843 次点击
    这是一个创建于 1848 天前的主题,其中的信息可能已经有所发展或是发生改变。

    V2 上玩 Termux 的大佬挺多的,但是没有关于 .NET 的, 我来发一篇吧。

    Termux 简介

    Termux 可谓安卓上的开发神器, 注意, 不是开发安卓应用, 是在安卓手机上做开发的神器, 它的官方简介如下:

    Termux is an Android terminal emulator and Linux environment app that works directly with no rooting or setup required. A minimal base system is installed automatically - additional packages are available using the APT package manager.

    简单说它就是一个带有最小化 Linux 系统环境的终端模拟器, 支持 APT 包管理器, 可以通过 apt 命令安装自己需要的 Linux 应用。

    如果还没有接触过 Termux,可以看一下这篇 《 Termux 学习笔记》 , 介绍的非常全面。

    Termux 自带了很多常用的应用, 不仅包括 gitwgetcurl 等常用的工具软件, 而且也有 nodejsphtyonperlcmakeclang 等开发软件, 如果要在手机上运行 nodejs 进行前端开发的话, 只需要在 Termux 中输入 apt install nodejs 即可。

    安装 Mono 环境

    作为一名 .NET 开发者, 也希望能够在安卓手机上运行 .NET 应用, 不过目前 Termux 并没有自带相关的程序包, 所以安装起来稍微有一些麻烦。 安卓系统是基于 Linux 系统的, 而 Linux 系统上的 .NET 实现是 Mono。 已经有热心网友 IanusInferus 成功在 Termux 上编译安装 mono 了, 并且提供了编译好的 termux-mono 下载。

    在手机上安装编译好的 termux-mono , 只需要在手机上输入如下命令:

    cd $PREFIX
    wget https://github.com/IanusInferus/termux-mono/releases/download/v20191019/mono-termux.6.4.0.198.tar.xz
    tar Jxf mono-termux.6.4.0.198.tar.xz
    rm mono-termux.6.4.0.198.tar.xz
    

    然后在 ~/.bash_profile 文件中添加一行, 将 mono 添加到 $PATH 变量:

    export PATH=$PREFIX/local/bin:$PREFIX/bin:$PREFIX/bin/applets:$PATH
    

    完成之后,可以退出 termux 再打开, 分别输入 mono --version 验证一下, 在手机上的截图如下所示:

    mono --version

    编译运行 .NET 应用

    在手机上编译一个 Hello world 应用试一下, 截图如下:

    .net hello world with termux on android

    其它扩展

    Termux 有很强的扩展性, 比如可以安装 htop 来查看系统资源, 如下图所示:

    htop

    第 1 条附言  ·  2019-10-24 18:52:19 +08:00
    Termux 的官方网站 https://termux.com/
    16 条回复    2019-10-24 21:52:04 +08:00
    psychologe
        1
    psychologe  
       2019-10-24 12:54:52 +08:00
    termux 的确是安桌上的神器。
    wtks1
        2
    wtks1  
       2019-10-24 12:58:51 +08:00 via Android
    可惜现在谷歌不让这个直接读取短信内容了
    dangoron
        3
    dangoron  
       2019-10-24 13:04:18 +08:00 via Android
    termux 一直不支持英文以外的输入吧
    Hoshizora
        4
    Hoshizora  
       2019-10-24 15:08:43 +08:00 via Android
    @dangoron 支持的
    sadfQED2
        5
    sadfQED2  
       2019-10-24 15:27:58 +08:00
    有啥用???我吃饱了撑得不用电脑写代码,要去用手机?
    dangoron
        6
    dangoron  
       2019-10-24 17:31:08 +08:00 via Android
    @Hoshizora https://github.com/termux/termux-app/issues/202
    看了下解决方案有点奇怪,要先在输入框输入中文再传到终端里。。
    dangoron
        7
    dangoron  
       2019-10-24 17:33:57 +08:00 via Android
    @sadfQED2 在外面 ssh 到服务器看看运行结果,跑一下实验命令还挺好用的,代码当然还是电脑上写比较方便
    lxk11153
        8
    lxk11153  
       2019-10-24 17:41:03 +08:00
    啥时候支持 Java /狗头
    0ZXYDDu796nVCFxq
        9
    0ZXYDDu796nVCFxq  
       2019-10-24 17:51:00 +08:00 via Android
    @wtks1 装开源的安装包就可以了
    lxk11153
        10
    lxk11153  
       2019-10-24 17:55:00 +08:00
    @gstqc #9 哪里下载那种安装包?
    @wtks1 #2 可以命令行发短信吗?
    0ZXYDDu796nVCFxq
        11
    0ZXYDDu796nVCFxq  
       2019-10-24 17:59:09 +08:00 via Android
    @lxk11153 GitHub 或者 f-droid
    0ZXYDDu796nVCFxq
        12
    0ZXYDDu796nVCFxq  
       2019-10-24 18:00:37 +08:00 via Android
    @lxk11153 #10 termux-api 这个包,有大量工具可以操作手机。包括短信,通话,WiFi 蓝牙等等
    lbp0200
        13
    lbp0200  
       2019-10-24 19:29:42 +08:00
    @gstqc 你的头像早晚会遭到朝阳群众的举报
    ProjectSky
        14
    ProjectSky  
       2019-10-24 19:42:05 +08:00 via Android
    @dangoron 原生支持,不需要 SSH 连入,在快捷栏上往右划一下即可输入中文。(快捷栏同时按下音量+键和 Q 键打开)
    Mayuri
        15
    Mayuri  
       2019-10-24 19:51:25 +08:00
    .NET Core 怎么样?
    beginor
        16
    beginor  
    OP
       2019-10-24 21:52:04 +08:00 via Android   ❤️ 1
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3446 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 00:45 · PVG 08:45 · LAX 16:45 · JFK 19:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.