跳转到内容

Android/Android 开发

来自维基教科书,开放的世界,开放的书籍
(从 Android/终端 IDE 重定向)

绝大多数 Android 应用程序 的软件是在笔记本电脑或台式电脑上编写和编辑的。

有些人认为直接在 Android 设备或其他平板电脑上编写软件与在电脑上编写软件大不相同,因此它需要由全新的 IDE 支持的全新编程语言。[1]

然而,有几种方法可以直接在 Android 设备上编写和编辑软件。[2][3] 其中一些方法采用了非常传统的方法。它支持使用传统命令提示符进行软件开发;使用传统文本编辑器,例如“vi”;使用 Android 的标准编程语言(Java);以及该语言的标准编译器(gcc)。唯一非传统的是它直接在 Android 设备本身运行它们。(即使这样也可以看作是回归到在运行软件的同一台机器上开发和编译软件的古老传统)。

Termux 是一个开源的 Android 终端模拟器和 Linux 环境应用程序,无需 root 或设置即可直接使用。[4]

Bash 脚本 Hello World

[编辑 | 编辑源代码]

这是一个快速“Hello World”

通过您喜欢的方法安装 Termux。

点击“Termux”图标。

在命令提示符下,[5]

输入

nano a.bash

(我假设您之前做过一些编程,所以您会知道何时在行末按 Enter 键)。

输入一个快速的 bash 脚本

#!/bin/bash
echo Hello, world

然后按 Ctrl + X、"y" 和 Enter 保存程序并退出回到命令提示符。

执行脚本

bash a.bash

您应该看到输出显示“Hello, world.”。

终端 IDE

[编辑 | 编辑源代码]

基本系统设置

[编辑 | 编辑源代码]

按照所有这些教程一步一步地进行。

它们将帮助您逐步编译 ~/system/src 中的示例应用程序。

按照这些教程的最佳方法是通过 telnet/ssh 登录,然后您可以在设备上阅读和执行操作,同时使用电脑执行操作。

让我们开始..

安装基本系统。

点击主页上的“安装系统”,然后按照说明进行操作。

确保您已在设备的“设置”>“语言和键盘”中启用终端 IDE 键盘。然后选择终端 IDE 键盘 - 点击主页上的“键盘”。

启动终端 IDE。点击按钮..

现在您将看到一个漂亮且不短的彩色提示符。您可以通过输入 export PS1=# 来更改它。

但它在 telnet/ssh 上看起来真的很棒.. :-p

  • 双击切换键盘。
  • 向左和向右滑动以查看您的 4 个终端。
  • 长按屏幕会弹出终端选择器菜单。
  • 按“菜单”查看选项

[这部分是可选的,但强烈推荐]

运行 telnetd。不需要参数。默认设置在 ~/.bashrc 中。您可以通过输入 # cat `which telnetd` 查看实际运行的内容。

(使用反引号,而不是撇号)。

无论如何 - 使用 # telnetd 启动 telnetd

您现在应该看到 telnetd 启动信息。以 ../system/bin/bash 结尾

您可以在任何阶段通过在终端 IDE 键盘上按 [CTRL]-C 来关闭 telnetd

现在,转到您漂亮的大电脑,通过 telnet 登录。我已经将转义字符设置为空白,因为它与 vim 帮助链接跟随键相同。

[或者] $ telnet -e [手机的 IP] 8080

[或者 - 更好的是使用 adb,它是 Android SDK 的一部分] 首先将您的手机通过 USB 连接到电脑。在您的 Android 的开发者选项中,打开开发者选项并选中 USB 调试,然后

$ adb -d forward tcp:8080 tcp:8080
$ telnet -e '' 127.0.0.1 8080

['' 是 2 个单引号,而不是一个双引号]

现在您应该通过 telnet 连接到系统

[并且您可以同时连接多次]

好的 - 让我们开始编程。

使用 Termux 通过 ssh 连接到远程服务器

[编辑 | 编辑源代码]

您可以在 Termux 中从 Android 设备 ssh 到您喜欢的服务器。键入您的用户名、at 符号和域名,如下所示

第一次从特定 Android 设备连接到特定服务器时,您会看到类似以下内容

   Host 'dreamhost.com' is not in the trusted hosts file.
   (fingerprint md5 c4:ad:7f:ba:d8:23:d4:da:53:07:76:a2:7e:24:9d:67)
   Do you want to continue connecting? (y/n)

所以输入“y”并按 Enter

您必须在第一次连接到特定服务器时直接在 Android 设备键盘上执行此操作。如果您从其他机器通过 telnet 连接到您的手机,您将收到错误

   ssh: connection to [email protected]:22 exited: Didn't validate host key

直到您回到 Android 设备并在 Android 设备键盘上直接输入命令。

终端 IDE 包含“rsync”,这对于复制文件、备份以及快速检查两个位置中的文件是否相同非常有用。[6]

进一步阅读

[编辑 | 编辑源代码]
(稍后:添加一些关于使用 dropbearkey 生成本地私钥(永远不会离开智能手机)以及相应的公钥的说明... 这样我们就永远不需要输入密码即可安全地登录到远程服务器)。[6][7]
  1. Marc Hesenius、Carlos Dario Orozco Medina、Dominikus Herzberg。 “触控因素:平板电脑上的软件开发”。2012 年。doi: 10.1007/978-3-642-30564-1_10 .
  2. Brian Kracoff。 "15 个在 Android 上编程的应用程序"。2012 年。提到 Spartacus Rex 的“终端 IDE”、“AIDE”、“C4droid”、“Pocket Code for Android”、“Algoid”等。
  3. Eric Ravenscraft。 "AIDE 是一款允许您在 Android 设备上编写和编译 Android 应用程序的 IDE"。[1]
  4. "Termux". Termux. 检索于 2024-05-12.
  5. 你可以通过输入 echo $SHELL 来验证;Spartacus Rex 命令提示符是一个普通的“bash”命令行。 查看 LPI Linux 认证/命令行操作 以了解简要介绍。
  6. a b Jason York. "使用公钥与 Dropbear SSH 客户端". 引用:"现在 ssh 可用,我可以轻松地执行自动 rsync 操作"。
  7. [2]
华夏公益教科书