跳转到内容

Android/Android 开发

来自维基教科书,开放的书籍,开放的世界

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

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

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

Termux 是一个开源的 Android 终端模拟器和 Linux 环境应用程序,可以直接使用,无需 rooting 或设置。[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。 “Touching Factor: 平板电脑上的软件开发”。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 是一款 IDE,允许您在 Android 设备上编写和编译 Android 应用程序”。[1]
  4. "Termux". Termux. Retrieved 2024-05-12.
  5. 可以通过输入 echo $SHELL 来验证;Spartacus Rex 命令提示符是一个普通的“bash”命令行。参见 LPI Linux 认证/命令行操作 以获得简要介绍。
  6. a b Jason York. "使用公钥与 Dropbear SSH 客户端". 引用:"现在 ssh 已经正常工作了,我可以轻松地执行自动 rsync 操作"。
  7. [2]
华夏公益教科书