Android

GitHub Releasesから署名済みのAPKをダウンロードできます。Android 13以降の戻る操作はsshc内の履歴と連動しています。戻る操作を行うと、まず開いているダイアログ、Command Palette、メニュードロワー、Inspectorを閉じます。何も開いていない場合は、前のページへ移動します。
スマホでの操作
以下の画面改善は正式版 v0.33.3 以降で利用できます。
- 下部の Home/Connections/SFTP/Terminal/Menu から画面を切り替えます。キーボード表示中は下部ナビゲーションとヘッダーを隠し、入力中の画面を広く使います。
- Connectionsは一覧と編集画面を切り替えて使います。スマホの横向きでも、狭い2ペイン表示には戻りません。
- ターミナルは指を離した後も減速しながらスクロールします。もう一度触ると止まり、選択中や画面を離れたときには慣性を停止します。OSの「動きを減らす」設定にも従います。
- Ctrl、Esc、Tab、矢印は補助キーの1行に置きます。Altや記号は「…」から選べます。横向きでも補助キーを利用でき、押してもキーボードのフォーカスを奪いません。
- ダイアログと操作シートはキーボードを除いた表示領域に収めます。長い内容は中をスクロールできます。Androidの戻る操作は、最前面のメニューから順に閉じます。
左上のメニューボタンから開くドロワーには、接続中のターミナル一覧やCommand Paletteへの入口もあります。画面端のスワイプはAndroidの戻る操作に使います。ドロワーの外側をタップするか、戻る操作で閉じられます。
スマホのSFTP
通常はファイル一覧を広く表示します。上部には接続先の選択、戻る、現在のフォルダ、検索、「…」を置きます。フォルダ名を押すとパスを入力でき、「…」からフォルダ作成、アップロード、ここでターミナルを開く、並べ替えなどを使えます。
ファイル名を1回タップすると、フォルダを開くかファイルをプレビューします。チェックボックスまたは長押しで選択すると、対象の操作が表示されます。選択中のファイル名タップは選択の追加・解除になります。移動・検索の通信中は処理中の表示を出し、古い一覧への操作を一時的に止めます。
転送管理は下部の1行に件数と進捗を表示します。タップすると詳細がシートで開き、一覧を押し縮めません。転送設定は詳細内で展開できます。ファイルのプレビューでも、属性情報は必要なときだけ展開します。
Androidのファイル選択画面(Storage Access Framework)を使った転送と、完了/失敗のAndroid通知に対応しています。通知の許可は最初の転送が完了したときに一度だけ求め、断った場合は再度求めません。外部URLはOS標準のブラウザーで開きます。
エンジンの常駐とバックアップ
sshcのエンジンはフォアグラウンドサービスとして動き、「sshc is running」の常駐通知を表示します。通知の[Stop]か、最近のタスクからアプリをスワイプして閉じると、エンジンとすべてのSSHセッションが終了します。Android 15以降ではデータ同期型サービスの連続実行時間に上限があり、上限に達するとエンジンは停止します。
アプリのデータ(Vault、鍵、設定、登録情報)はAndroidの自動バックアップと端末間の移行の対象から完全に外しています。機種変更で引き継ぐには、暗号化同期(Sync)を使うか、新しい端末で設定と鍵を用意し直してください。
開発版APK
開発版は sshc Dev(com.github.aida0710.sshc.dev)として正式版と並べてインストールできます。Vaultや設定はアプリごとに別のデータ領域へ保存され、正式版のデータは自動では移りません。
今回の変更は、実機のキーボードやジェスチャーを使った確認がまだ必要です。検証項目と開発版のビルド手順はリポジトリの docs/mobile-ux-review.md に記録しています。
ローカルシェル
ローカルシェルは、Androidアプリ専用ディレクトリを作業ディレクトリとして使用します。完全なデスクトップLinux環境ではなく、Androidが提供するシェルとアプリのサンドボックス権限で動作しています。llのようなシェルエイリアスや、dirなどの外部コマンドは、標準では利用できないことがあります。
起動失敗時
エラー画面には、アプリのバージョン、エラーコード、詳細、Android SDK、端末名、ABIの6項目が表示されます。[診断情報をコピー]でまとめて共有でき、[もう一度試す]で起動をやり直せます。ワークスペースのパスやローカルポートの確保結果は、該当する場合は「エラーコード」と「詳細」に含まれます。
秘密鍵、パスワード、トークン、バケットのシークレットは、診断レポートに含まれません。