プログラミング
MiniageOS: LineageOSの「Dumbphone」バージョン
MiniageOS: "Dumbphone" Version of LineageOS (github.com)
要約
MiniageOSは、LineageOSをベースに、ブラウザや不要なアプリ、アニメーションなどを削除し、画面をグレースケール化するなど、スマートフォンの機能を「ダウングレード」させるプロジェクトです。これにより、バッテリー寿命の延長、データ使用量の削減、画面時間の短縮を目指します。Google Pixel 7aでテストされており、カメラ品質やタッチスクリーンは維持しつつ、プライバシーと集中力を高めることを目的としています。
全文翻訳
miniageOS (mini-LineageOS) スマートフォンのカメラ品質とタッチスクリーンを諦めることなく、Google Pixel用のLineageOSの機能を絞り込んだ「dumbphone」バージョンを作成します。
dumbphone (名詞): 単なる電話であり、日常生活に必要なことだけを行う電話。
表示されているランチャーはOlauncherです(含まれていませんが推奨されます)。
これは何ですか?
スクリプト、およびそれらのスクリプトが機能するために使用されるリソース(「機能」を参照)。
これは何ではありませんか?
ランチャー
「スクリーンタイム」のような制限
設定で簡単に元に戻せる、または電話がアップデートされたときに一時的に無効にできる一時的で元に戻せるコマンド。
LineageOSのフォーク(公式で最新のLineageOSをビルドし、ビルド時に変更を加えます)。
何をするか
ブラウザなしでシステムイメージをビルドします。
カスタムホストファイルでコンパイルし、選択したドメインを電話が「ハードブロック」するようにします。
UIの変更:
電話をグレースケールとナイトモード(ブルーライトフィルター)に設定します。
テキストとUI要素に拡大鏡を適用し、電話をより遠くに持つことを奨励し、視力を保護します。
アニメーションを無効にします。
ユーザー向けの「アップデート」なしでビルドするため、OTAアップデートでオペレーティングシステムに加えられた変更を上書きしません。
システムイメージにアプリストアやGoogle Playサービスを含めません(公式LineageOSと同様)。
ビルド前に、公式ソースから最新のLineageOSアップデートとデバイス固有のベンダーアップデートを取得するため、各ビルドは公式プロジェクトで最新の状態になります。
既にLineageOSがインストールされている電話の既存のすべてのアプリ、設定、その他のユーザーデータを保持します。
変更されたLineageOSイメージがビルドされ、電話にフラッシュされた後、信頼できるソース(F-droid)からAurora Storeを一時的に自動ダウンロードしてインストールし、必要なアプリ(セキュアメッセージング、メモ、マップなど)を更新またはインストールするのを待ち、完了したらストアを自動アンインストールします。
GApps/Google Playサービスを必要とせずに、より高品質な写真のために、デフォルトのLineageOSカメラアプリをGoogle Pixelカメラアプリに置き換えます。
過剰なデータとバッテリー電力を消費する不要な機械学習ベースのアプリ(Android System IntelligenceおよびPrivate Compute Services)を無効にします。
選択したGoogle/キャリアソフトウェアの「ブロブ」の抽出を防ぐことで、ビルドから除外するオプションがあります。例:「OK Google」リスニングソフトウェアやVerizonアプリなど。
これらの変更を行うためにrootアクセスは必要ありません。
電話がより少なく、より少ないものを搭載しているという事実だけで、バッテリー寿命が劇的に増加し、データ使用量が削減されます。
⚠️免責事項⚠️
現在、これらのスクリプトはGoogle Pixel 7aでのみテストされています。他のPixelモデルとの互換性がある可能性は高いですが、テストされるまで確実に保証することはできません。Pixel以外の電話では、テストされておらず、破壊的な結果をもたらすか、ビルドプロセスやファイル場所の違いにより、完了前に単に失敗する可能性があります。現時点では、Google Pixel以外の電話でこのビルドシステムを使用することは推奨しません。
前提条件
Unix/Linuxを実行するコンピューター(ネイティブまたはVM)。
✅はい:Linux
❔はい、おそらく:macOSまたはWSL(回避策が必要な場合があります)。
❌いいえ:Windows
少なくとも16GBのRAM(SWAPを適切に調整してください)。
少なくとも300GBのストレージ(通常のSSDまたは外部USB)。
上記のハードウェア/OS要件の代わりに、EC2インスタンスなどでビルドし、ビルド出力ファイルをローカルマシンにコピーしてそこからフラッシュすることができます。
電話に公式LineageOSが既にインストールされていること。
注:LineageOSを初めてインストールすると、電話はワイプされます。ガイド:https://wiki.lineageos.org/devices/{your-device-code-name}/install/
LineageOSのwikiにある「Build for {your-device-code-name}」ガイドを、「Preparing the build environment」セクションまで実行し、「repo sync」を少なくとも一度実行していること。ガイド:https://wiki.lineageos.org/devices/{your-device-code-name}/build/
手順
このリポジトリをクローンします:git clone https://github.com/ofdryads/miniageos.git
cd miniageos
設定:
config-example.shに正しい値を入力し、config-example.shを同じフォルダ内の「config.sh」というファイルに名前変更またはコピーします。
ブロックしたいすべてのドメインをreplace/hostsのホストファイルに入力します。
スクリプトに実行権限を付与します:chmod +x sync-mod-build.sh flash-customize.sh
./sync-mod-build.shを実行します。
ビルドが完了したら、以下を実行します:
./flash-customize.sh
問題
公式LineageOSリリースzip(少なくともPixel 7aの場合)を指して./extract-files.pyを実行すると、「osaifu-ketai.patch」からのエラーによりブロブの抽出が失敗します。これは、iircが期待する場所にないファイルを指しています。このパッチは、ほとんどのPixel電話に関連しない特定の日本のNFCプロバイダーに関連しています。「proprietary-files.txt」ファイルの下部にある「FeliCa」セクションの行をコメントアウトすることで、問題を回避できます。
各ビルドで再適用する必要がある変更はどれか vs. 一度きりの変更はどれか?
各ビルドで繰り返されるもの:
ホストファイルへの追加
理由:repo syncが上書きするため。ただし、HOSTS設定変数がLineageOSソースコードフォルダの外にあるコンピューター上の保存されたカスタムホストファイルを参照している限り、繰り返しビルドのために何もする必要はありません。
保存された設定検索の無効化
理由:repo syncが上書きするため。
ブロブ抽出
理由:Googleファームウェアは時々アップデートされます。
Aurora Storeのインストール→アンインストール(そこからインストールされたサードパーティアプリがある場合)
理由:アップデートされていないアプリの脆弱性。
一度きりの変更:
proprietary-files.txtの編集。
グレースケール/ナイトモード/アニメーション/UI拡大鏡。
各ビルドで再適用する必要のない変更については、初期ビルド/フラッシュで適用された後、config.shでこれらの変数を「false」に設定できます。スクリプトはこれらのステップをスキップし、現在の状態を維持します。
このビルドを実行している電話を使用している場合に機能しないものは?
銀行アプリ、Venmo、NFC/非接触型決済(Google Pay、Apple Pay、Samsung Payなど)。
RCSメッセージング。
ただし、通常のSMS、ほとんどのメッセージングアプリ(Signal、WhatsApp)、iMessageプロキシサービス(OpenBubbles/BlueBubbles)は問題なく動作します(上記の点は、公式LineageOSビルドを含む、ブートローダーがアンロックされている電話に適用されます)。
ブラウザでリンク(URLまたはQRコード)を開くことはできません。ブラウザがないためです。
サードパーティのメッセージングアプリを使用している場合、プッシュ通知を受け取るためにMicroGをインストールすることを強くお勧めします。それなしでもメッセージ自体は受け取れますが、通知は受け取れません。
重要な注意
これは数ヶ月ごとに繰り返されることを意図しています。このスクリプトの実行/イメージのフラッシュがアップデートメカニズムです。公式LineageOSリリースによって変更が元に戻されるのを避けるために、OTAシステムを置き換えます。6ヶ月以上アップデートしないとセキュリティリスクが発生します。これは、追加するすべてのサードパーティアプリにも当てはまります。