本文へ
Nonbiri

非公式の Android · iKKO MindOne

MindOne

カードサイズの端末に Android 17 を。メーカーのソースコードなしで。

iKKO MindOne は Android 15 で発売されましたが、その下の層は Android 12 世代のもので、先に進めるためのコードをメーカーは公開していません。ハードウェアに近いところから端末のソフトウェアを作り直し、いまは無料のコミュニティ版 Android である LineageOS で Android 17 が動いています。内蔵の仮想 SIM を除き、端末の機能はすべて使えます。毎日使っている自分のスマートフォンで、ほかの持ち主もインストールできる版を準備しています。

開発中 · 更新

いまの状況

  • Android 17

    LineageOS 24 で、自分の MindOne で毎日使っています。

  • すべての機能に対応

    内蔵の仮想 SIM を除きます。

  • ダウンロードは準備中

    ソースコードはすでに GitHub で公開しています。

どんな仕事だったか

古い部品に新しい塗装をしたのではなく、ハードウェアに近い層から順に、すべてを現在の Android へ。

Android の下には、画面、カメラ、音声、モバイル通信を動かすソフトウェアの層があります。非公式の Android の多くはこの元の層をそのまま残し、上だけを入れ替えます。それは古い部品が新しいシステムに合わなくなるまでの話です。メーカーは、チップを新しい Android に載せるとき、自社のソースコードとチームでこの層を作り直します。ここではそれを外側から一人で行いました。Google の最新のカーネルと MediaTek がこのチップ向けに公開しているドライバから始め、残りは端末そのものを調べて埋めています。

このプロジェクトでしていること

01

新しいカーネル

Linux 6.18 · Google GKI

カーネルは、システムの中でハードウェアと直接やりとりする部分です。出荷時の古い版から、Google が配布する現在の版にそのまま移りました。だから Google のセキュリティ修正がそのまま届きます。MindOne に固有のものは、その上に読み込まれます。

02

ハードウェアをもう一度記述する

デバイスツリー、出荷時のバイナリから復元

何かを動かす前に、基板に何が載っていてどうつながっているかをシステムに教える必要があります。メーカーはこの記述を公開していないので、端末の中にあったコンパイル済みのコピーから作り直しました。

03

閉じた部品をオープンな実装に

自作の Android サービス:音声、センサー、位置情報、カメラ、動画

音声、センサー、位置情報、カメラ、動画は、元の非公開のものではなく、この端末のために書いたサービスを通ります。オープンなコードだから新しい Android に移せますし、改良もできます。

04

同じチップの新しい端末から

ドナー部品、ビルドする人が各自で取り出す

グラフィックスなど書き直せない一部の部品は、同じチップを積んだ新しい端末 — Samsung Galaxy A07 など — から借りています。どれも現在の Android 向けに作られた版です。

使える機能

内蔵の仮想 SIM を除き、端末の機能はすべて使えます。

  • 通話と SMS
  • モバイルデータ
  • Wi-Fi
  • Bluetooth
  • NFC
  • 回転カメラ
  • 指紋認証
  • スピーカーとマイク
  • なめらかな画面
  • GPS
  • 動画
  • 充電とスリープ
  • USB
  • Snap キーボードケース

どんな端末?

MindOne はクレジットカードほどの大きさのスマートフォンです。サファイアガラスの下に正方形の AMOLED、ヒンジで回転して自撮りにも使えるカメラが 1 つ。ここまで小さな端末はめったにありません。新しいソフトウェアで使い続ける理由はそこにあります。

チップ
MediaTek Helio G99
メモリ
RAM 8 GB · ストレージ 256 GB
画面
サファイアガラスの正方形 AMOLED
カメラ
5000 万画素、回転して背面と前面を兼ねる
サイズ
86 × 72 mm、クレジットカードほど
出荷時
Android 15
現在
Android 17 · LineageOS 24

これから取り組むこと

01

自分の端末に入れられる版

GitHub でのダウンロードと、一つずつ説明したインストール手順。その後の更新は端末のアップデーターアプリから届きます。Google アプリは含めず、追加する方法を案内します。

02

毎日の使い心地

電池持ち、速さ、安定性。

03

Snap ケースのソフトウェア

Snap キーボードケース用の Android アプリと新しいファームウェア。キーの割り当てやヘッドホン出力を調整できるようにします。

04

この先も新しく

Google のカーネル修正を出るたびに取り込み、今後の Android にもついていきます。長期的な目標は LineageOS の公式サポートです。

自分の端末にも入れられる?

まだです。そのままインストールできる版を準備しています。公開したら、このページからダウンロード先と MindOne への導入手順を案内します。

開発者の方へ

すべて GitHub でオープンなライセンスのもとに公開しています。端末がなお必要とする非公開のファイルはビルドする人が各自で取り出すもので、リポジトリには含めていません。

  • Device tree · lineage-24.0

    LineageOS 24 / Android 17。音声、センサー、GNSS、カメラプロバイダ、バイブレーターの自作 AIDL サービス、ツリー内の V4L2 Codec2 による動画、Rust によるモデム補助ツール。64 ビットのみ。lineage-23.2 ブランチには Linux 6.12 の Android 16 版が残っています。

  • Kernel · android17-6.18

    Google の android17-6.18 GKI コアの上に載るデバイスモジュール、DTB/DTBO、Kleaf DDK のビルド。以前の android16-6.12 系列と android14-6.1 の移植も残しています。

免責事項

このページに書かれていることは、明示・黙示を問わずいかなる保証もなく現状のまま提供されます。ブートローダーのアンロック、パーティションの書き換え、ここからリンクしているツールの実行は、端末上のすべてのデータを消し、端末を恒久的に起動不能にする可能性があります。実行はご自身の責任と判断で行ってください。ここに書かれたことに従った結果として生じた損失や損害について、端末に対するものかどうかを問わず、著者は一切の責任を負いません。

小売で購入した端末での個人的な研究プロジェクトであり、1 台の個体で起きたことの記録です。iKKO および MediaTek とは無関係で、両社の承認も支援も受けていません。