跳轉到內容

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 符號和域名,如下所示

ssh dc@dreamhost.com

第一次從特定 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 dc@dreamhost.com: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]
華夏公益教科書