インスタントアプリ用のGoogle Play開発者サービスは、認証なしで自身をダウンロード/インストールします。他のコンポーネントをダウンロード/更新します。無効にする方法は?


28

バックグラウンド

インスタントAppsのGoogle Playのサービスは、」私のデバイスに自身をインストールしていなくて私の許可。それは破った、私のファイアウォールの機能(AFWallや他のアプリのカップルを)。そして、それ自体と他のアプリ/コンポーネントを許可なしに更新しています。このコンポーネントをアンインストールすると、それ自体が再度ダウンロードされ、すぐにインストールされます。(つまり、ほとんどの場合、実際にバックグラウンドでこれを行っているのは「Google Playサービス」です)

ダウンロード、更新、インストールに関する確認や通知はありません。私が発見した方法は、アプリの一部の機能が変更/破損したことに気付いたことです。そこで、アプリ(「Androidのシステム情報」)を使用しましたが、実際には、この「インスタントアプリ用のGoogle Playサービス」が1日前にインストールされたことがわかります。

私の質問は、次の機能を維持しながら、Androidデバイスの不正な更新を完全に無効にする方法です。

  • 連絡先の同期
  • グーグルプレイストア
  • Googleマップアプリ

これらのスクリーンショットでは、自動更新を行うすべての設定がオフになっていることがわかります。したがって、このダウンロードとインストールは明らかに無許可であり、実行されるべきではありません。インスタントアプリの設定のスクリーンショットは、Thingが既にインストールされた後に表示されます。Google Playストアのグローバル設定のみを残します。

ここに画像の説明を入力してください
設定›アプリ // 設定› Google›インスタントアプリ(OFF!)// Playストア設定(自動更新がOFF!)

誤解を招く提案に従った後、すべてが開始されました。このスクリーンショットで、「Google Playサービス」を更新することができます。

ここに画像の説明を入力してください
大きなバリアントの画像をクリック


更新1:

私がこれまでに発見したことは、何か(おそらく「Google Play Services」)がダウンロードとインストールを要求していることです。その方法は、Googleダウンロードマネージャーでリクエストを送信することです。それをトリガするものは不明、しかし密接にダウンロードマネージャからアイコンをデバイスを見ている場合はありません、ダウンロードの割合を示す通知に表示されます。ただし、完了するとすぐに消えます。それでも、インストールを示すものは何もありません。

私がこれまでに試したこと:

  1. 彼らはもともとあることを代わりにシステム・レベル・アプリケーションのユーザレベルとして、次のインストール:Googleアカウント、GPストア、およびサービスのフレームワークを(com.google.android.gms; com.android.vending; com.google.android.gsf)これは動作しませんでした。ダウンロードは引き続き要求され、その後インストールされます。
  2. インストールをブロックする方法は、(データが使い果たされるまで)何度もダウンロードするようです。したがって、最も可能性の高い最善のアプローチは、そもそもダウンロードを防ぐことです。ダウンロードマネージャーをユーザーアプリとしてインストールできませんでした。これは、制御が必要な部分のようです。
  3. ファイアウォールを介してダウンロードマネージャーやPlayストアをブロックすることは可能ですが、それはアプリをダウンロードする唯一の信頼できる方法を破壊します。

アップデート2:

GPサービスの以前のバージョン(v11.3.02)へのダウングレードは数日間機能しましたが、今日ではInstant AppsのGPサービスがダウンロードされ、インストールされました。したがって、使用するバージョンは関係ありません。ほとんどの場合、Googleはすべての電話をこの方法で更新します。

アップデート3:

そのため、Googleは、気分が良いときはいつでも定期的に自分自身を更新しています。映画をストリーミングしている場合、速度が低下し、インターネット帯域幅を使い果たして、MBごとにお金を払うことになります。この画像では、3つのGoogleアプリが許可なく更新されたことがわかります。

ここに画像の説明を入力してください


1
こんにちは@Firelordわかりやすくするために、標準の「Google Playサービス」ではなく、「インスタントアプリ用のGoogle Playサービス」について説明しています。後者は最近の開発であり、マルウェアのように動作しています(ただし、公式のGoogleアプリです)。主にデバイス/ ROMに依存する可能性が高いため、壊れたアプリの機能についてはあまり詳しく説明しません(標準のROMを実行しており、ルート化されていますが、質問のために「通常の」非ルートソリューションを見つけるため)。AFWallは、「ルールの適用に失敗しました」というエラーを断続的に表示するように壊れました。
エミール

1
@Izzyは編集に感謝し、明確にします。
エミール

1
読んでくれてうれしい、エミル!はい、もう少しテストします。副作用がない場合は、あなた自身の質問に答えることを検討してください :)
イジー

1
Google Playフォーラムの関連ディスカッションへリンクは次のとおりです。
スタン

3
こんにちは@frans、それは帯域幅/コストだけではないということです。防止しようとしているのは、不要なソフトウェアのインストールでもあります。また、現在WiFiにアクセスできないため、携帯電話のインターネット経由でアプリとアップデートをダウンロードします。もう1つは、このアップデーターが状態の変化を「リッスン」するので、WiFiに切り替えると、Googleのものに優先順位が付けられ、すぐにそれらが最初にキューされます。以下に投稿した回避策では、基本的に競合状態であるため、アップデートをダウンロードできることに気付く前にいくつかのアプリをダウンロードしますが、再度ロックしますが、100%信頼できる方法ではありません。
エミール

回答:


7

更新:最近のAndroidバージョンでは、Settings-> Google-> Instant Apps-> から実行できますOFF

元の答えは以下のとおりです。

最良のシナリオでは、これでInstant Appsの自動更新をブロックするのに十分なはずです。

端末(connectbot、juicesshなど)を介してデバイスで実行します。

pm hide com.google.android.instantapps.supervisor

または、ケーブル(またはwifi adb)で接続しているときにpcでadbを介して実行する場合は、次を使用します。

adb shell pm hide com.google.android.instantapps.supervisor

違ってはpm disable pm hide、非根ざしデバイス上で動作します。これまでのところ、Instant Appsの通知が表示されることはありませんでした。

上記がうまくいかない場合は、別のアプローチとして、ファイル/フォルダーのSELinuxコンテキストを変更します(たとえば、chcon)。


pm hide上記のコマンドを元に戻すには:

pm unhide com.google.android.instantapps.supervisor

まあ、それはその特定のアプリをターゲットにしますが、私はすべての不正な更新または新しいアプリのインストールをブロックしたいと思います。また、この種の「システムレベル」のインストールとダウンロードは、ユーザーからは見えません。それが機能する方法は、バージョンをチェックし、アップグレードする必要がある場合、バックグラウンドでファイルをダウンロードします。ダウンロードが完了すると、インストールが試行され、インストールが失敗した場合は別の時間に再試行されます。一時ファイルは定期的に削除されるため、見つからない場合は再度ダウンロードされます。一時フォルダーを監視する場合、これを何度も繰り返してキャッチすることができます
Emil

@Emil:com.google.android.instantapps.supervisorあなたが言及しているモニタリングを行っているアプリではありませんか?それとも、Google Playサービスの特定のサービスですか?2番目の場合、レシピは完全ではないと思います。また、バックグラウンドで実行してブート時に起動するパッケージの許可を拒否しました。
ccpizza

監視の対象を正確に特定できませんでした。Androidにはリスナーを設定するシステムがあり、それらを調整すると主張するアプリがいくつかありますが、それらは効果がないことが判明しました。この「キュー」に直接アクセス/制御する方法、または何らかの方法でインターセプトする方法を見つけることができませんでした。基本的に、Googleはコアとして考えてすべてが、通常のアプリケーションの設定を回ることができます
エミル・

3

名前が示すように、これはGoogleサービスアプリの一部です。PlayStoreはこれを使用して、アプリをインストールせずにアプリを実行します(新しいサービス)。無効にすることはできますが、削除することはできません(私が知る限り、コアサービスの一部として自己インストールし続けるだけです)。

無効にするには、[設定]› [Google]› [インスタントアプリ]に移動して、トグルスイッチ(参照)を切り替えます。

これは、新しいデバイスがリリースされたときのシステムアプリになると思います。古いデバイスを使用している私たちにとっては、互換性のあるデバイスに強制的にインストールするだけです。

編集:私が答えた後に質問が修正されたという事実のために。この回答は、ルート化されたデバイスには適用されません。根ざしたデバイスでは可能かもしれませんが、簡単または永続的な解決策は考えられません。



@Emilチャットへのリンクを除くすべてのコメントを整理しました(コメントは引き続き利用可能です)。さらに、これが答えではないことに同意することはできません。あなたの質問で、「永久に無効にする簡単な方法はないようです」と「私の質問は、この機能を完全に無効にする方法」と書きました。この投稿では、「設定、Google、インスタントアプリに移動してトグルスイッチを切り替えることを無効にするには」を提示します。そのようにして、それが機能しなかった場合、それを述べてください。
イジー

1
とにかく、これを説明しようとしています。彼は質問をし、基本的にいいえと答え、理由を説明し、同様の状況に陥る可能性のある他の人に情報を提供しました。質問が変更されたため、自分の回答が元の質問に適用されることを表現するように編集しました。ここでルールがどのように機能するかを誤解している場合は、回答を削除し、より良い方法を教えてください。
ジョスエリベラ

1
@JosueRiveraは、あなたが満足していれば、あなたは間違っていません。答えが間違っている場合、人々はそれを下票して先に進むことができます。
消防士

1
オフに設定されている場合でも自動更新されます。1か月以上前に停止しましたが、今日も自動更新されました。
tgf

1

概要: [ルートのみ]このソリューションは、GoogleがGoogle Playサービス、インスタントアプリ用のGoogle Playサービスなどのシステムアプリをダウンロードするtemp(キャッシュ)フォルダーへの書き込みアクセスをブロックすることを伴います。すべてを説明する、それは多くのように見えます。その後、新しいアプリのインストールは基本的に3つのステップになり、プロセスはPCにプログラムをインストールするのと似ています。


背景:私のシステムでは、フォルダーは次のように機能します。

1)/data/data/com.android.providers.downloads/cache
*これは、Googleシステムアップデート(および新しいシステムアプリ)がインストールされるフォルダーです。
*残念ながら、このフォルダーは通常の新しいアプリのダウンロードにも使用されます。したがって、永久にブロックすることはできません。新しいアプリをダウンロードするときは、ブロック/ブロック解除できる必要があります。

2)/mnt/sdcard/Android/data/com.android.vending/files
*このフォルダーは、通常の更新(Googleシステム以外のアプリ)に使用されます。したがって、これをブロックする必要はありません。また、Facebook、ゲームなどの通常のアプリを更新する際に特別なことをする必要もありません。


解決策:上記のキャッシュフォルダーは、通常の操作中はロックされたままです。新しいアプリをインストールする場合、全体的なプロセスは次のとおりです(ほとんどが自動化されています):(1)キャッシュフォルダーのロックを解除します(2)ブロックを解除してインストール中に侵入した場合にアプリフォルダーをロックします。(3)ストアから新しいアプリをダウンロードします(4)ダウンロードしたプログラムをインストールフォルダーから別の場所にコピーし、デフォルト名(download.apk)から名前を変更します(5)キャッシュフォルダーをクリアしてロックします(6)アプリフォルダーのロックを解除します( 7)apkファイルをクリックしてインストールします。

明らかに、毎回ターミナルでこれを入力したくないので、これらは自動化されたステップです。2つの追加アプリを使用し、BusyBoxをインストールする必要があります(スクリプトでchattrコマンドを使用できるようにするため)

  1. ロックのロック解除は、Gscriptと呼ばれるアプリによって実現されます。スクリプトの実行を実現する他のアプリを使用できます。Googleストアにはバージョンがありますが、私や他の人にとってはクラッシュします。そこここに利用できる安定したフォークです:https://bitbucket.org/Equidamoid/gscriptは(ここでは著者の記事のおかげ:https://stackoverflow.com/a/20328927/7609435)だけが、これらの2つのスクリプトを貼り付けます。(両方ともSUが必要)

    A)ダウンロード前に実行- アプリのロック/キャッシュのロック解除

    chattr +i /data/data/* chattr +i /data/data chattr +i /data/app/* chattr +i /data/app chattr -i /data/data/com.android.providers.downloads/cache

    B)ダウンロードの完了後およびファイルのコピー後に実行する- キャッシュをクリアおよびロック/アプリのロック解除

    rm /data/data/com.android.providers.downloads/cache/* chattr +i /data/data/com.android.providers.downloads/cache chattr -i /data/data/* chattr -i /data/data chattr -i /data/app/* chattr -i /data/app

  2. Playストアに「ダウンロードに失敗しました」と表示されると、アプリがダウンロードされたことがわかります。apkをインストールできなかったが、実際にはダウンロードが成功し、キャッシュフォルダー内にあるためだと言われます。上記のスクリプト(B)を実行する前に、ファイルをキャッシュフォルダーから別の場所に移動する必要があります。もちろん、どのアプリでも使用できますが、2つのペインがあり、ブックマークをサポートしているため、Total Commanderを使用したいと思います(キャッシュを追加しました)。それを移動して、ファイルの名前をデフォルト名から別の名前に変更してから、上記の(B)スクリプトを実行します。また、APKをコピーするときは、アプリのアイコンが必要です。デフォルトのアイコンが表示されている場合は、他の無関係な理由によりダウンロードが破損している可能性が高いため、もう一度ダウンロードしてみてください。

  3. 今、キャッシュフォルダがクリアされ、ロックされ、アプリのフォルダがアンロックされています。(キャッシュフォルダーが空であることを100%確認するために再確認できますが、これは必要ではないでしょう)ダウンロードしたAPKをインストールできます。

注1:新しいダウンロードをクリックして「保留」と表示された場合、Google Playを閉じて(強制的に)再起動すると、自動的にダウンロードが開始されます。

注2:これはAndroid:6.0.1 / MIUI:8.5.3.0のみでテストしたため、このソリューションは普遍的ではありません。キャッシュフォルダがあるかどうか、Google Play Servicesのダウンロードがそこにアップロードされているかどうかを確認します(アップロードが完了すると、しばらくそこにとどまります)。

警告:キャッシュフォルダーをロックしておくことは問題ありませんが、これらのデータフォルダーがロックされているときに電話を再起動すると、電話は起動しません。そして、手動で行ってTWRPシェルから変更する必要があります。

PSこのソリューションは万人向けではないことを理解していますが、主な関心事が安定性であり、データの使用を制御することである場合、これは今のところ機能します... 誰かがこれよりも良い答えを思いつくことを願っています。


免責事項:スマートフォンが自動的に更新されなくなったため、以前のGoogleシステムに脆弱性がある場合は公開される可能性があります。ただし、個人的には、明示的な許可なしに何かをインストールできる場合の脆弱性を考慮しています。
エミール
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.