Google Pixel 9aでLinux開発環境が使えるようになったのでClaude Codeを使ってみた。

Google Pixel 9aでLinux開発環境が使えるようになったのでClaude Codeを使ってみた。

2025.09.07

はじめに

皆様こんにちは、あかいけです。

ちょっと前にAndroid16でLinux開発環境が使えるようになりました。
その影響で、私のGoogle Pixel 9aでもついにLinux開発環境が使えるようになりました!🎉🎉🎉

https://source.android.com/docs/whatsnew/android-16-release?hl=ja

これで満員電車の中でも Claude Code で Vibe Coding ができるというわけです、素晴らしい!
というわけで、
今回はGoogle Pixel 9aでClaude Codeを使うまでにやったことを書いていきます。

モチベーション

「スマホでも開発作業できたらいいのになぁ...」
そう思った経験はありませんか?

確かに、これまでもAndroidでLinux環境を使う方法はありました。
TermuxやUserLAndといったターミナルエミュレータを使えば、開発環境を構築することは可能でした。

しかし、やっぱり「公式」の安心感って大きいですよね。
Android公式として提供されているということは、セキュリティ面もある程度担保されているでしょうし、今後の動向次第ではありますが長期的なサポートも期待できるかもしれません。

Linux開発環境 有効化までの手順

開発者向けオプション

まずは開発者向けオプションを有効化する必要があります。
手順は以下を参照しています。

https://developer.android.com/studio/debug/dev-options?hl=ja

私の端末はGoogle Pixel 9aなので、
[設定] > [デバイス情報] > [ビルド番号]の画面でビルド番号を表示させます。

Screenshot_20250903-220614

この[ビルド番号] オプションを 7 回タップすることで「開発者向けオプション」を有効化できます。
有効化後に[設定] > [システム]の画面にて、「開発者向けオプション」が表示されています。

Screenshot_20250903-220658

あとは「開発者向けオプション」をクリックして、有効化をしてあげればOKです。

Screenshot_20250903-220717

この一連の謎の儀式感が、
昔のゲームの隠しコマンドみたいでワクワクしますね。

Linux開発環境

次はLinux開発環境の有効化です。
こちらも公式のドキュメントを参考に作業します。

https://developer.android.com/about/versions/15/release-notes?hl=ja#linux-development-environment

まずは[設定] > [システム] > [開発者向けオプション] > [Linux開発環境]の画面を開き、
トグルをクリックして有効化します。

Screenshot_20250824-114244 1

Screenshot_20250824-114333

有効化後に「ターミナル」というアプリが追加されているので起動します。

Screenshot_20250824-114404

開くとインストールを促されるので、実施します。

Screenshot_20250824-114422

インストール後、再度アプリを開くと見慣れた画面を拝めます。
これにてインストールは完了です。

Screenshot_20250824-114629

デフォルト状態

とりあえずデフォルトの状態を色々確認してみます。

OS

OSはDebian 12です。
これは固定で、他のOSは選択できないようです。

droid@localhost:~$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

CPU

CPUはデフォルトで全コアが使えるようです。
また現状では設定変更はできなそうです。

droid@localhost:~$ lscpu
Architecture:             aarch64
  CPU op-mode(s):         64-bit
  Byte Order:             Little Endian
CPU(s):                   8
  On-line CPU(s) list:    0-7

メモリ

メモリは4GiB割り当てられています。
こちらも設定変更できなそうです、今後のアップデートに期待ですね。

droid@localhost:~$ free -h
               total        used        free      shared  buff/cache   available
Mem:           3.8Gi       402Mi       3.4Gi       5.6Mi       231Mi       3.4Gi
Swap:          981Mi          0B       981Mi

ディスク

ディスクはデフォルトだと6GBです。(あまりにも心許ない…)
こちらは変更できるので、後で拡張しましょう。

droid@localhost:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1       5.7G  1.4G  4.1G  25% /
/dev/vda2       191M  191M     0 100% /opt/kernel_extras
devtmpfs        4.0M     0  4.0M   0% /dev
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           786M  508K  785M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
internal        110G   40G   71G  36% /mnt/internal
android         110G   40G   71G  36% /mnt/shared
tmpfs           393M     0  393M   0% /run/user/0
tmpfs           393M  4.0K  393M   1% /run/user/1000

色々設定してみる

では色々設定してみます。

なおスマホからコマンドを打つのは辛すぎるので、
Bluetooth や USB で外部キーボードを使うことをおすすめします。

ディスク増強

6GBだと何もできないので、まずはディスクを増強しましょう。
ディスクは設定画面(歯車マーク)からGUIで設定変更できます。

Screenshot_20250824-115300

とりあえず20GB割り当ててみます。
変更するとアプリが再起動します。

Screenshot_20250824-115416

再起動後、確認してみると問題なく拡張できているかと思います。

droid@localhost:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        20G  1.4G   18G   8% /
/dev/vda2       191M  191M     0 100% /opt/kernel_extras
devtmpfs        4.0M     0  4.0M   0% /dev
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           786M  508K  785M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
internal        110G   54G   57G  49% /mnt/internal
android         110G   54G   57G  49% /mnt/shared
tmpfs           393M     0  393M   0% /run/user/0
tmpfs           393M  4.0K  393M   1% /run/user/1000

OS アップグレード

次に OS アップグレードしましょう。

$ sudo apt update; sudo apt upgrade -y;

おそらく使う子たちインストール

おそらく使うであろう、いつもの子達をインストールしておきます。

$ sudo apt install -y git npm htop jq tmux unzip;

ポート制御

ポート制御も設定画面から設定できます。
なお許可ポートにウェルノウンポートの追加はできません。

Screenshot_20250824-122110

とりあえず以下のコマンドでHTTPサーバーを立ててみます。

HTTPサーバー起動
droid@localhost:~$ python3 -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...

設定画面を見ると指定したポートが出てくるので、これを許可してあげます。

Screenshot_20250824-122252

その後別端末から疎通確認してみると、通信できるかと思います。

HTTPサーバーアクセス
$ curl XXX.XXX.XXX.XXX:8000
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Directory listing for /</title>
</head>
<body>
<h1>Directory listing for /</h1>
<hr>
<ul>
<li><a href=".bash_history">.bash_history</a></li>
<li><a href=".bash_logout">.bash_logout</a></li>
<li><a href=".bashrc">.bashrc</a></li>
<li><a href=".config/">.config/</a></li>
<li><a href=".lesshst">.lesshst</a></li>
<li><a href=".profile">.profile</a></li>
<li><a href=".python_history">.python_history</a></li>
<li><a href=".sudo_as_admin_successful">.sudo_as_admin_successful</a></li>
<li><a href=".viminfo">.viminfo</a></li>
</ul>
<hr>
</body>
</html>

Docker

Claude Code で MCP サーバーを使うときにほぼ確実に使うので、Docker も入れておきます。
手順はDocker公式の手順通りです。

https://docs.docker.com/engine/install/debian/

Docker インストール

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

rootユーザー以外のDocker実行権限追加

https://docs.docker.com/engine/install/linux-postinstall/

sudo groupadd docker;
sudo usermod -aG docker $USER;
newgrp docker;

claude code

いよいよclaude codeのインストールです。
とはいえ、公式ドキュメントの手順に従ってインストールして、ログインするだけです。

https://docs.anthropic.com/en/docs/claude-code/setup

まずはインストールして、

npm install -g @anthropic-ai/claude-code

あとは claude を起動して、いつも通りログインをするだけです。

Screenshot_20250903-224207

よくあるエラー

ターミナルを起動してから別のアプリを開き、再度ターミナルを開いた際に以下のエラーが表示されることが割とよくあります。
(私は1日に2回ぐらい遭遇しました。)

error

なんだか物騒なことが書いてありますが、私の環境ではターミナルを再起動すれば治りました。
なので遭遇した際は焦らず、とりあえずターミナルを再起動してみてください。

さいごに

以上、Google Pixel 9a で Linux 開発環境が使えるようになったので Claude Code を使ってみました。

今までスマホではGUIのClaudeを使うことが多かったですが、
これからはClaude Codeを使ってスマホでもある程度コードなど具体的な実装の部分を触りやすくなりました。
ただ現状ではターミナル上で日本語キーボードが使えない?ようなので、英語でのやり取りが前提になりそうです。

なお今回は私が使ってる関係でGoogle Pixel 9aを対象としていましたが、
Android16であれば他の端末でも使えると思うので、皆様もぜひ使ってみてください。

この記事をシェアする

facebookのロゴhatenaのロゴtwitterのロゴ

© Classmethod, Inc. All rights reserved.