Google サービスのない Huawei で仮の位置情報を使う
Google サービスのない Huawei や Honor のスマートフォンを使っている方は、位置の偽装は使えないという話をよく目にします。それは誤りです。仮の位置情報は Google の追加機能ではなく Android 自体の一部であり、Google Play のないスマートフォンでもまったく同じように動作します。違うのは、アプリの入手先と、EMUI が必要な設定をどこに置いているかだけです。
Google サービスが不要であることを確認する
アプリに必要なのは、Android 8.0 以降、開発者モード、位置情報の権限で、どの Huawei にもそろっています。Google アカウントも Google Play 開発者サービスも root も不要です。偽装は、システム自体に組み込まれたテスト用の位置情報プロバイダーの仕組みを通じて行われます。

APK ファイルからアプリをインストールする
これらのスマートフォンには Google Play がないため、APK はウェブサイトからダウンロードします。インストールの前にチェックサムを照合してください。ファイルの SHA256 は ダウンロードページ に掲載しており、確認の手順は APK のインストールガイド で説明しています。

開発者モードをオンにする
設定 →「端末情報」→「ビルド番号」を 7 回続けてタップします。その後、「設定 → システムとアップデート」(古い EMUI では単に「システム」)に「開発者向けオプション」が表示されます。

仮の現在地情報アプリを選ぶ
開発者向けオプションで「仮の現在地情報アプリを選択」を見つけ、Mock Location を選びます。座標を提供できるのは一度に 1 つのアプリだけです。これは EMUI ではなく Android の制約です。

アプリ起動を設定する
設定 →「バッテリー」→「アプリ起動」→ Mock Location を探し、「自動で管理」をオフにします。3 つのスイッチ(「自動起動」「二次起動」「バックグラウンドで実行」)のあるウィンドウが開くので、3 つともオンにします。これが重要な手順です。自動管理のままだと、EMUI は自分の判断でバックグラウンドサービスを終了させます。

結果を確認する
地図をタップして偽装を開始し、別の地図アプリを開きます。選んだ地点が表示されれば、仕組みはシステムレベルで機能しており、Google サービスがないことは何の影響もありませんでした。

偽装が Google に依存しない理由
仮の位置情報は Android 自体に実装されています。システムは、選ばれた 1 つのアプリにテスト用のプロバイダーの登録と座標の書き込みを許可し、通常の方法で位置を求めるすべてのアプリにその座標を渡します。Google Play 開発者サービスはこの仕組みとは無関係です。システムの API の上に独自の位置情報 API を提供していますが、それを置き換えるものではありません。
実際的な結論:偽装は Google サービスのないスマートフォンでも動作します。ただし、Google の API だけで座標を取得していたアプリは、偽装とは関係なく、そうしたスマートフォンではもともと動作しません。
3 つのスイッチはすべて必須
「自動起動」は、システムがアプリを終了させた後にそれを戻すことを許可します。「二次起動」は、ほかのアプリやシステムのイベントによる起動を許可します。再起動後に偽装を復元するのはこれです。「バックグラウンドで実行」は、アプリを最小化している間もサービスが動き続けることを許可します。
3 つ目のスイッチをオフにしても、1 つ目をオフにしたのと同じように確実に偽装は止まります。ですから、わかりやすい自動起動だけでなく、3 つともオンにしてください。
HarmonyOS と Honor
HarmonyOS では、項目は EMUI とほぼ同じ場所にあります。開発者モードは同じく 7 回のタップで有効になり、項目は「システムとアップデート」に、起動の管理は「バッテリー」にあります。名前が少し違うことはあっても、考え方は同じです。
両社が分かれてから Honor は独自のファームウェアを使っていますが、同じ 3 つのスイッチによるアプリ起動の管理は残っています。バッテリーのセクションで探してください。
それでも偽装が止まる場合
アプリが起動の自動管理に戻っていないか確認してください。ファームウェアの大きなアップデートで、この設定がリセットされることがあります。サービスが動いている目印は通知パネルの常駐通知で、通知が消えていたらシステムがサービスを終了させています。
ほかの原因はメーカーに関係なく、別に説明しています:バックグラウンドで偽装がオフになる理由。