Instant Apps 용 Google Play 서비스는 인증없이 자체적으로 다운로드 / 설치, 다른 구성 요소를 다운로드 / 업데이트합니다. 비활성화하는 방법은 무엇입니까?


28

배경

" Instant Apps 용 Google Play 서비스 "는 본인의 허락 없이 기기에 설치되었습니다 . 그것은 파산 내 방화벽의 기능 (AFWall 및 다른 응용 프로그램의 몇). 그리고 허가없이 자체 및 기타 앱 / 구성 요소를 업데이트하고 있습니다. 이 구성 요소를 제거하면 다시 다운로드되고 바로 설치됩니다. (실제로 백그라운드에서이 작업을 수행하는 것은 "Google Play 서비스"일 가능성이 높습니다)

다운로드, 업데이트 또는 설치에 대한 확인 및 알림이 없습니다. 내가 발견 한 방식은 내 앱의 일부 기능이 변경되었거나 깨 졌음을 알았습니다. 그래서 앱 ( "Android 용 시스템 정보")을 사용했는데 실제로이 "인스턴트 앱용 Google Play 서비스"가 하루 전에 설치되었음을 보여줍니다.

내 질문은 : 안드로이드 장치의 무단 업데이트를 완전히 비활성화하고 다음 기능을 유지하는 방법은 무엇입니까?

  • 연락처 동기화
  • 구글 플레이 스토어
  • Google지도 앱

이 스크린 샷에서 자동 업데이트를 담당하는 모든 설정이 꺼져 있음을 알 수 있습니다. 따라서이 다운로드 및 설치는 명백하게 권한이 없으므로 발생하지 않아야합니다. 항목이 이미 설치되면 Instant Apps 설정의 스크린 샷이 표시됩니다. Google Play 스토어에서 전역 설정 만 그대로 둡니다.

여기에 이미지 설명을 입력하십시오
설정›앱 // 설정›Google›인스턴트 앱 (사용 안함!) // Play 스토어 설정 (자동 업데이트 사용 안함!)

오해소지가있는 제안을 따른 후에 시작 되었습니다.이 스크린 샷에서 "Google Play 서비스"를 업데이트 할 수 있습니다.

여기에 이미지 설명을 입력하십시오
더 큰 변형을 보려면 이미지를 클릭하십시오


업데이트 1 :

내가 지금까지 발견 한 것은 무언가 ( "Google Play Services")가 다운로드 + 설치를 요청하고 있다는 입니다. 그렇게하는 방법은 Google 다운로드 관리자에게 요청하는 것입니다. 불분명를 트리거 것을, 그러나 밀접하게 다운로드 관리자에서 아이콘을 장치를 시청하는 경우 수행 다운로드 비율을 나타내는 통지에 표시됩니다. 그러나 완료되면 즉시 사라집니다. 여전히 설치를 나타내는 것은 없습니다.

내가 지금까지 시도한 것 :

  1. 그들은 원래 것을 시스템 수준의 응용 프로그램 대신 사용자 수준으로 다음을 설치합니다 : Google 계정, GP 스토어 및 서비스 프레임 워크 (을 com.google.android.gms; com.android.vending; com.google.android.gsf)이 작동하지 않았다. 다운로드가 여전히 요청되어 설치됩니다.
  2. 설치를 차단하는 방법은 데이터를 다 사용할 때까지 계속해서 다운로드하게하는 것 같습니다. 따라서 가장 좋은 방법은 처음부터 다운로드를 방지하는 것입니다. 다운로드 관리자를 사용자 앱으로 설치할 수 없었습니다.이 부분은 제어해야 할 부분으로 보입니다.
  3. 방화벽을 통해 다운로드 관리자 및 / 또는 Play Store를 차단할 수는 있지만 앱을 다운로드하는 유일한 신뢰할 수있는 방법을 세분화합니다.

업데이트 2 :

이전 버전의 GP 서비스 (v11.3.02)로 다운 그레이드하면 며칠 동안 작동했지만 현재 Instant Apps 용 GP 서비스가 다운로드되어 설치되었습니다. 어떤 버전을 사용하든 상관 없습니다. 대부분의 경우 Google은 모든 휴대 전화를 이런 식으로 업데이트합니다.

업데이트 3 :

따라서 Google은 기분이 좋을 때마다 거의 정기적으로 업데이트하고 있습니다. 영화를 스트리밍하는 경우 MB 단위로 돈을 지불하는 인터넷 대역폭을 사용하여 속도를 떨어 뜨립니다. 이 이미지에서 3 개의 Google 앱이 허가없이 업데이트 된 것을 확인할 수 있습니다.

여기에 이미지 설명을 입력하십시오


1
@Firelord 님 안녕하세요. 표준 "Google Play 서비스"가 아니라 "Instant Apps 용 Google Play 서비스"에 대해 이야기하고 있습니다. 후자는 최근 개발 된 것으로서 공식 Google 앱 임에도 불구하고 맬웨어처럼 작동합니다. 나는 그것이 장치 / ROM에 의존 할 가능성이 있기 때문에 주로 깨진 앱 기능에 대해 너무 자세하게 설명하지 않을 것입니다 (표준 ROM을 실행하고 있으며 뿌리를두고 있지만 질문을하기 위해 "정상적인"루트가 아닌 솔루션을 찾기 위해). AFWall은 "규칙을 적용하지 못했습니다"라는 오류를 간헐적으로 발생 시켰습니다.
Emil

1
@ 편집에 감사드립니다. 더 명확 해졌습니다.
Emil

1
반갑습니다, 에밀! 그리고 예, 조금 더 테스트하십시오. 부작용이없는 경우 자신의 질문에 답해보십시오. :)
Izzy

1
다음은 Google Play 포럼 관련 토론 링크 입니다.
Stan

3
@frans 안녕하세요, 대역폭 / 비용 만이 아닙니다. 또한 방지하려는 원치 않는 소프트웨어를 설치합니다. 또한 현재 WiFi에 액세스 할 수 없으므로 휴대 전화의 인터넷을 통해 앱과 업데이트를 다운로드합니다. 또 다른 것은이 업데이터는 상태 변경을 "수신"하므로 WiFi로 전환하면 Google에 우선 순위를 부여하고 즉시 신호를 보냅니다. 아래에 게시 된 해결 방법에서 기본적으로 경쟁 조건입니다. 업데이트를 다운로드 할 수 있다는 것을 깨닫기 전에 일부 앱을 다운로드하지만 다시 잠글 수는 있지만 100 % 신뢰할 수있는 방법은 아닙니다.
Emil

답변:


7

업데이트 : 최근 안드로이드 버전에서는 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또한 비 뿌리 장치에서 작동합니다. 지금까지 더 이상 인스턴트 앱 알림이 표시되지 않았습니다.

위의 방법으로 문제가 해결되지 않으면 다른 방법으로 파일 / 폴더의 SELinux 컨텍스트를 수정하는 것입니다 (예 :) chcon.


pm hide위 명령 을 되돌리려면 다음을 사용하십시오.

pm unhide com.google.android.instantapps.supervisor

글쎄, 그것은 특정 응용 프로그램을 대상으로하지만, 모든 무단 업데이트 또는 새로운 응용 프로그램 설치를 차단하고 싶습니다. 또한 이러한 종류의 "시스템 수준"설치 및 다운로드는 사용자에게 보이지 않습니다. 작동 방식은 버전을 확인하고 업그레이드가 필요한 경우 장면 뒤에서 파일을 다운로드하는 것입니다. 다운로드가 완료되면 설치를 시도하고 설치에 실패하면 다른 시간에 다시 시도합니다. 임시 파일은 주기적으로 삭제되므로 찾을 수 없으면 다시 다운로드됩니다. 임시 폴더를 모니터링하면 계속
Emil

@ Emil : com.google.android.instantapps.supervisor언급 한 모니터링을 수행하는 앱이 아닌가요? 아니면 Google Play 서비스의 특정 서비스입니까? 그것이 두 번째라면 레시피가 완료되지 않은 것 같습니다. 또한 백그라운드에서 실행하고 부팅시 시작할 수있는 패키지 권한을 거부했습니다.
ccpizza

모니터링이 정확히 무엇인지 정확히 알 수 없었습니다. Android에는 리스너를 설정하는 시스템이 있으며이를 조정한다고 주장하지만 효과가없는 앱이 몇 가지 있습니다. 이 "대기열"에 직접 액세스하거나 제어하는 ​​방법을 찾지 못하거나 어떻게 든 가로 챌 수 없었습니다. 기본적으로 Google이 핵심으로 간주하는 모든 것은 일반 앱 설정을 둘러 볼 수 있습니다.
Emil

3

이름에서 알 수 있듯이 Google 서비스 앱의 일부입니다. PlayStore는 앱을 설치하지 않고 앱을 실행합니다 (새 서비스). 비활성화 할 수는 있지만 제거 할 수는 없습니다 (내가 핵심 서비스의 일부로 계속 설치한다는 것을 알고있는 한).

사용하지 않으려면 설정›Google›Instant Apps 로 이동 하여 토글 스위치 ( 참조 )를 전환하십시오 .

나는 이것이 나올 때 최신 장치의 시스템 응용 프로그램이 될 것이라고 믿습니다. 나머지 장치가있는 나머지 사람들에게는 호환 장치에 강제로 설치됩니다.

편집 : 내가 대답 한 후에 질문이 수정되었다는 사실 때문에. 이 답변은 루팅되지 않은 장치에 적용됩니다. 루팅 된 장치를 사용하면 가능하지만 쉽고 영구적 인 솔루션을 생각할 수 없습니다.



@Emil 채팅 링크 (댓글을 계속 사용할 수있는 링크)를 제외한 모든 댓글을 정리했습니다. 또한, 나는 이것이 대답이 아니라는 것에 동의 할 수 없습니다 : 귀하의 질문에 "영구적으로 비활성화하는 쉬운 방법이없는 것 같습니다"와 "내 질문은 :이 기능을 완전히 비활성화하는 방법은 무엇입니까?" 이 게시물에 다음과 같이 표시됩니다. "사용 중지하려면 설정, Google, Instant Apps로 이동하여 토글 스위치를 전환하십시오." 당신이 그렇게하고 작동하지 않은 경우, 그것을 말하십시오.
Izzy

1
어쨌든 나는 이것을 설명하려고 노력했다. 그는 기본적으로 아니오라고 대답하고, 이유를 설명하고 비슷한 상황에서 자신을 찾을 수있는 다른 사람에게 정보를 제공했습니다. 질문이 변경되었습니다. 본인의 답변이 원래 질문에 적용되었음을 표현하도록 편집했습니다. 여기서 규칙이 어떻게 작동하는지 이해하지 못하면 답변을 삭제하고 더 잘할 수있는 방법을 알려주십시오.
Josue Rivera

1
@JosueRivera는 당신이 만족하지 않으면 당신이 틀리지 않다는 것을 남겨 둡니다. 대답이 틀렸다면 사람들은 그것을 내려 놓고 나아갈 수 있습니다.
Firelord

1
off로 설정되어 있어도 자동 업데이트됩니다. 한 달 전에 종료하고 오늘 다시 자동 업데이트되었습니다.
tgf

1

정보 : [루트 전용]이 솔루션은 Google이 Google Play 서비스, Instant Apps 용 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 파일을 클릭하여 설치하십시오.

분명히 터미널마다 이것을 입력하고 싶지 않으므로 자동화 된 단계입니다. 여기에는 BusyBox를 설치하고 스크립트를 통해 chattr 명령을 사용할 수 있도록 두 개의 추가 앱을 사용하는 것이 포함됩니다

  1. 잠금 해제 잠금 해제는 Gscript라는 앱으로 수행됩니다. 스크립트 실행을 달성하는 다른 앱을 사용할 수 있습니다. Google 스토어에 버전이 있지만 나와 다른 사람들에게 충돌합니다. : 여기에 해당 안정적인 포크있다 https://bitbucket.org/Equidamoid/gscript (여기에 저자의 게시물에 대한 감사 : https://stackoverflow.com/a/20328927/7609435 개)이 두 스크립트가 붙여 넣기가. (모두 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)를 실행하기 전에 캐시 폴더에서 다른 곳으로 파일을 이동해야합니다 . 물론 모든 응용 프로그램을 사용하여 수행 할 수 있지만 두 개의 창을 가질 수 있고 책갈피를 지원하기 때문에 Total Commander를 사용하고 싶습니다 ( 캐시 를 추가 했습니다). 따라서 파일을 이동하고 파일 이름을 기본 이름에서 다른 이름으로 바꾼 다음 위의 (B) 스크립트를 실행하십시오. 또한 APK를 복사 할 때 앱 아이콘이 있어야합니다. 기본 아이콘이 있으면 관련없는 다른 이유로 인해 다운로드가 손상되었을 수 있으므로 다시 다운로드 할 수 있습니다.

  3. 이제 캐시 폴더가 지워지고 잠기고 앱 폴더가 잠금 해제됩니다. (캐시 폴더가 100 % 확신하기 위해 비어 있는지 다시 확인할 수 있지만 이것이 필요한지 의심됩니다.) 이제 다운로드 한 APK를 설치할 수 있습니다.

참고 1 : 새 다운로드를 클릭하고 "대기 중"이라고 표시되면 Google Play를 닫고 다시 시작하면 자동으로 다운로드가 시작됩니다.

참고 2 : Android : 6.0.1 / MIUI : 8.5.3.0에서만 테스트 했으므로이 솔루션은 보편적이지 않을 수 있습니다. 캐시 폴더가 있는지 확인하고 Google Play 서비스 다운로드가 업로드되어 있는지 확인합니다 (업로드가 완료되면 잠시 동안 유지됨).

경고 : 캐시 폴더를 잠그는 것이 좋지만 해당 데이터 폴더가 잠겨있는 동안 전화를 다시 시작하면 전화가 부팅되지 않습니다. 그리고 수동으로 이동하여 TWRP 쉘에서 변경해야합니다.

추신 : 나는이 솔루션이 모든 사람을위한 것이 아니라는 것을 이해하지만 주된 관심사가 안정성이며 데이터 사용을 통제하는 것이라면 지금 작동합니다. 바라건대 누군가가 이것보다 더 나은 대답을 얻을 수 있기를 바랍니다.


면책 조항 : 귀하의 휴대 전화는 더 이상 자동으로 업데이트되지 않습니다. 이전 Google 시스템에 취약한 경우 노출 될 수 있습니다. 그러나 개인적으로 명시 적 허가없이 무언가를 설치할 수있을 때 취약점을 고려합니다.
Emil
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.