裏取りが済んでない記事未満の何かを垂れ流すスペース。
内容は現状のまま無保証で掲載されるし、見解は所属を代表した公式なものではないし、何かを推奨するものではない。
記載の内容を真似したことで起こるいかなる損害についても責任を負わない。
わたしは既にAndroidのカスタムROM開発からは手を引いたので、これ以上要らんこと聞いてこないでくれ。
ここに書いてる以上のことは無ければ、ユーザーに罪はなく、以下の戯言はやる気があった頃のめんどくさい主張とその根拠である。
微妙に情報が古かったり、日本語で書かれていないと読めない人も一定数居るらしいので…
この記事では
- 新規に カスタムROM + microG 環境をセットアップする
ことを想定して書いています。そうでない環境のことは知らないからです。
この記事では、制裁を受けていたり独自のアプリストアを始めとするエコシステムを構築している Android 派生とかで Google Play サービスの代替として microG を導入する方法については扱いません。そんなものはわたしが使ってないからです。
この記事では Vanced microG については扱いません。そんなものはわたしが使ってないからです。
こんなん長くて読んでらんないよ!早くしてくれ!
不自由なソフトウェアである Google Play サービスに代わって、アプリケーションが Google API を利用するための FLOSS[1] での代替実装。
プライバシーや自由を確保しながら、Google Play サービスに依存している Android の主要機能(大多数のアプリが使用しているであろう Cloud Messaging によるプッシュ通知とか)を活用し続けることができる。
他のメリットにはバッテリやCPUへの負荷軽減、不必要な肥大化の回避などが挙げられる。
非対応の機能としては主に
などがある。
小ネタ: microG も Exposure Notifications (接触通知システム) に対応しており、日本だと COCOA がインストールされていれば動作していた模様。
本家に無い面白い機能としては、収集/共有した ID の数が日付/時間帯単位のマスの濃淡で確認できる(GitHub の Contribution chart みたいな感じ)。
一例。10/10の日中は人出の多いところに持ち出したので他より濃い、というのが見て取れる。
これも https://microg.org にあるんですけど
Android OS のコア部分については Android Open Source Project (AOSP) の一部として公開されているが、 Google による主要なアプリ群についてはその限りではない。より悪いことに、ますます多くのライブラリや API がプリインストール済みの Google Play サービスを実行するスマートフォンでのみ利用可能になっており、サードパーティ製アプリを Google のエコシステムに囲い込もうとしている。これらの理由から、 Android は 「見るのは良いけどお触りはダメ」なタイプのオープン であると説明されることがある。
こういった事情でしばしば Android 向けのオープンソースなアプリを開発している人々は Google のプロプライエタリなライブラリを泣く泣く導入する必要があり、コミュニティでの需要が高まったことで、これらのライブラリとアプリ群の FLOSS な代替実装(クローン)として microG が誕生した。
Signature Spoofing をサポートしていて、アプリに権限付与の形で許可をすることができるカスタムROMの例(FlokoROM/crDroid)。
/system/priv-app
以下にインストールされている Google サービスのパッケージもアンインストールする必要があります
GmsCore
PrebuiltGmsCore
PrebuiltGmsCorePi
PrebuiltGmsCorePix
GoogleBackupTransport
GoogleFeedback
GoogleLoginService
GoogleOneTimeInitializer
GooglePartnerSetup
GoogleServicesFramework
Phonesky
SetupWizard
Velvet
おわり。
上のモジュールのREADMEから、 Why you may want to use it 節を補完しながら紹介する:
GmsCore
に同梱されるUnifiedNlp
[2] はユーザーアプリとして(手動で APK を)インストールされた際には Android 7 以降ではシステム側に追加のパッチを当てていない限り動作しない。
この問題の回避策として 特権アプリ (いわゆる/system/priv-app
とか)としてインストールする方法があるが、この方法は(手動でやってると) OTA アップデートにより削除されてしまうことがあるため完璧とは言い難い。
そこで、ネットワークベースの位置情報を利用可能な microG のインストールを簡単にするためにこの Magisk モジュールを作成した。
(インストール先は見かけ上/system/priv-app
だけど、これらは Magisk でマウントされてるにすぎないのでもともとの/system
を汚さず、 OTA にも影響されない)
まあお使いの端末が GPS 積んでるなら気にしないでも生きていけそうだけど、他にも正常に動作させるためにシステムアプリとしてインストールする必要があるパッケージが挙げられており、本当にこれ全部手動でやりたいと思いますか?みたいなところはある。
DroidGuard Helper
needs to be installed as a system app in order to pass SafetyNet.GsfProxy
needs to be an system app for some third-party apps.
知らん。わざわざこんなん入れたってことは目的があるんでしょうよ。
Free/Libre Open Source Software の頭字語。フリーソフトウェアって書くと日本語だと無料のほうに捉えられがちだけど、自由のほうを言いたいんやでってやつ。 https://ja.wikipedia.org/wiki/FLOSS ↩︎
Network Location Provider, ネットワークベースの位置情報サービス。microG の UnifiedNlp
自身はその機能を持っているわけではなく、サードパーティのサービスやデータベース(Apple の Wi-Fi データベースや Mozilla の提供する位置情報サービス、はたまた端末ローカルで取得された Wi-Fi やセルラー通信で得られたデータ)をバックエンドに利用する プラグイン との組み合わせで動作する。 ↩︎
AuroraStore の DISCLAIMER.md を参照のこと。ちなみに日本語のGoogle Play利用規約は こっち 。 ↩︎