スマートフォンだけでClaude Codeを動かす
最近のスマートフォンのCPUは大分スペックが高くなっていて、クラウドのAIを使っている分には、そこまでローカルの処理能力が必要と思われるので、スマホでAIを使ったソフトウェア開発ができないかと思っていました。そしたらGemini CLIが発表されてからほどなくAndroidスマホで動かせるという情報が入ってきました。それならClaude Codeでも動かせるだろうということでチャレンジしてみました。
Termuxをインストールする
クラウド上でサーバーを動かし、スマートフォン上で動かすターミナルアプリからアクセスする形とは目指しているところが違うため、まずはスマホローカルで動くシェルが必要になります。
Google PlayストアからTermuxをインストールします。少し前まではPlayストア版は更新が止まっていた気がしますが、どうも更新されるようになったようなので、こちらをインストールします。
Termux APIをインストールする
作業を進めていく上でブラウザなど他のAndroidアプリとテキストデータのコピペができると便利なので、そのためにTermux APIをインストールします。
pkg update -y
pkg upgrade -y
pkg install termux-api
実際のコピペは以下のようにします。
termux-clipboard-set hogehoge
termux-clipboard-get
node.jsをインストールする
Claude Codeをインストールするので、まずはnode.jsをインストールします。
pkg install nodejs-lts
Claude Codeをインストールする
Claude Codeは公式の情報に従ってインストールします。
npm install -g @anthropic-ai/claude-code
claude login
ここでClaude Codeが使うことができるようになります。
ソフトウェア開発に何が必要か
エディタ
設定するにも、コードを書くにもエディタは必要です。 以下のエディタが使えるようになっているので、どちらかを使います。
- vim
- nano
Termuxの外とのやりとり
成果物をTermuxの外とやりとりする仕組みが必要です。 自分いつも使っているのはGitHubなので、GitHubを使える環境を整えます。 まずは、gitとghをインストールします。
pkg install git gh
gh auth login
sshを設定する
GitHubからclone, pushできるようにsshを設定ます。 キーを作成して、パブリックキーをGitHub側に登録します。
ghコマンドが動作しない
ここまでセットアップしてもghコマンドが動きません。例えば
gh issue list
と実行すると、以下のようなエラーになってしまいます。
fail to run git: fork/exec /data/data/com.termux/files/usr/bin/git: permission denied
これはchmodすればよいというような単純な問題ではなさそうで、TermuxとAndroidのセキュリティ保護の仕組みが絡みあって発生している問題のようです。
ghからgitコマンドを呼び出すのがダメなようなようなので、Claude Codeにghを使う場合にはGitHub API経由で使うように指示するとうまく動作するようになりました。