연결되어있을 때만 Play Store에서 앱 자동 업데이트를 허용하는 방법은 무엇입니까?


14

휴대 전화가 연결 (충전)되고 Wi-Fi에 연결되면 앱이 자동으로 업데이트되기를 원합니다. Play 스토어 설정에서 적절한 옵션으로 Wi-Fi가 켜져있을 때만 자동 업데이트를 쉽게 허용 할 수 있지만 휴대 전화가 배터리로 작동하는 경우 자동 업데이트가 발생하지 않습니다.

집에서 Wi-Fi로 전화를 사용할 때 불필요한 배터리 소모가 발생합니다. 자동 업데이트 앱은 시간이 중요한 작업보다 더 많은 데몬 작업이므로 표준 절전 전략이 아니라고 생각할 수 없습니다.

이를 달성하기위한 앱 또는 시스템 해결 방법 (장치가 루팅 된 경우 포함)을 알고 있습니까?

답변:


4

참고 :

다음 해결책 :

  • 안드로이드 4.2.1, COS12 (Android 5.0.2) 및 CM12.1 (Android 5.1.1)에서 테스트되었습니다-모두 Play 스토어 v6.0.5를 실행 1
  • 뿌리 안드로이드 필요
  • 여기 에 솔루션의 간단한 데모가 있습니다

Play 스토어의 매니페스트를 탐색하는 동안 다음 서비스 만 Wi-Fi를 통한 앱 자동 업데이트의 초기 자라고 생각했습니다.

com.google.android.finsky.autoupdate.ReschedulerUsingAlarmManager$CheckWifiAndAutoUpdate

다른 장치에서 몇 가지 조건에서 해당 서비스를 사용하여 문제의 목표에 유용하다는 것을 알았습니다. Play 스토어에서 앱의 자동 업데이트 설정이 "Wi-Fi를 통해서만 앱 자동 업데이트"로 설정되어 있어야합니다.

수행 할 수있는 작업은 다음과 같습니다. 전원과 Wi-Fi를 연결 한 후 나중에 연결을 끊을 때 일련의 작업을 실행할 수 있는 앱을 설치하십시오 . 내가 사용 테스 커 ( 평가판 , 사용 설명서를 자동화 응용 프로그램으로).

입력 작업과 종료 작업의 두 가지 작업이 필요합니다. 관련 도움말은 여기 내 답변을 참조하십시오 .

  • 작업 입력 : (작업) :

    1. 코드 → 셸 실행

      • 명령:

        pm enable com.android.vending / com.google.android.finsky.autoupdate.ReschedulerUsingAlarmManager \ $ CheckWifiAndAutoUpdate;
        강제 중지 com.android.vending;
        startservice com.android.vending / com.google.android.finsky.autoupdate.ReschedulerUsingAlarmManager \ $ CheckWifiAndAutoUpdate
        
      • 틱 사용 루트
    2. 업데이트 절차가 시작되었음을 알리기 위해 하나 이상의 작업을 선택적으로 추가 할 수 있습니다. 나는 토스트를 통해 나 자신에게 알리기 위해 Alert → Flash를 사용했다.
  • 작업 끝내기 : (작업) :

    이 작업 에는 Busybox의 애플릿이 설치되어 있어야합니다. 누락 된 명령 행 도구를 Android 디바이스에 설치하는 방법을 참조하십시오 . 관련 도움이 필요합니다.

    1. 넷 → 테스트 넷

      • 유형 : 모바일 데이터 사용
      • 결과 저장 : %Mdata
    2. 코드 → 셸 실행

      • 명령:

        svc 데이터 비활성화;
        svc wifi 비활성화;
        강제 중지 com.android.vending;
        강제 중지 com.android.providers.downloads;
        down_path = $ (콘텐츠 쿼리 --uri content : // downloads / my_downloads --projection _data --where "notificationpackage = 'com.android.vending'");
        [[ "$ down_path"! = "결과가 없습니다." ]] && echo $ down_path | sed 's /.*=// g'| xargs rm -f || 에코 계속;
        내용 삭제 --uri content : // downloads / my_downloads --where "notificationpackage = 'com.android.vending'"
        오후 비활성화 com.android.vending / com.google.android.finsky.autoupdate.ReschedulerUsingAlarmManager \ $ CheckWifiAndAutoUpdate;
        svc wifi 사용;
        [[ "% Mdata"== "yes"]] && svc 데이터 활성화 || 아무것도하지 않는 에코.
        
      • 틱 사용 루트
    3. 다시 말하지만 자신에게 알리려면 선택한 조치를 사용하십시오.

이러한 작업은 무엇을합니까?

두 컨텍스트의 조건이 모두 충족되면 입력 작업이 실행됩니다. 해당 작업의 명령은 다음 작업을 순차적으로 수행합니다.

  • 위에서 언급 한 Play 스토어 서비스를 사용하도록 설정
  • 강제 중지 Play 스토어
  • 해당 Play 스토어 서비스를 시작하십시오

그리고 자동 업데이트가 시작됩니다.

활성화 된 상태에서 프로파일이 비활성화 될 때마다 (컨텍스트 조건이 더 이상 충족되지 않기 때문에) 종료 태스크가 실행됩니다. 종료 작업은 다음 단계를 순차적으로 실행합니다.

  • 모바일 데이터의 상태 (활성화 / 비활성화)를 변수 Mdata에 저장
  • 이러한 명령의 역할은 다음과 같습니다.

    • 모바일 데이터 비활성화
    • Wi-Fi 비활성화
    • 강제 중지 Play 스토어
    • 강제 중지 다운로드 관리자

    Wi-Fi를 사용할 수 없어 앱의 업데이트 (다운로드 진행 중)가 중단되고 진행률 표시 줄 (알림)이 사라지면 진행률 상태 가 데이터베이스 다운로드 테이블 다운로드 행에 연속적으로 저장됩니다. .db . 해당 데이터베이스는 다운로드 관리자의 데이터 디렉토리 아래에 있습니다. 해당 행에는 부분적으로 다운로드 된 파일의 위치도 포함됩니다.

    다음에 Wi-Fi에 성공적으로 연결될 때 자동 업데이트가 발생하지 않도록하고 프로파일이 작업 입력을 실행하지 않을 때 자동 업데이트가 수행되지 않도록하려면 다음 명령이 수행합니다.

    • _datacom.android.vending에 의해 notificationpackage로 식별 된 행에 해당 하는 열의 값에서 부분적으로 다운로드 된 파일의 위치를 ​​추출하십시오 . 우리는 그 파일을 삭제하는 것을 목표로합니다. 이것은 작은 희생입니다.
    • 실제로 _data 아래에 파일 경로가있는 경우이 경로 를 사용하여 지정된 파일을 삭제하십시오.
    • 해당 행을 삭제하지 않으면 네트워크 연결이 변경되고 (Wi-Fi에 다시 연결됨) 자동 업데이트가 다시 시작될 때 다운로드 관리자가 해당 행을 읽습니다.
    • 자동 업데이트가 자체적으로 시작되지 않도록 전술 한 Play 스토어 서비스를 비활성화
    • Wi-Fi 사용
    • 이 작업을 실행하기 전에 모바일 데이터가 활성화 된 경우 활성화하십시오.

1 이 답변의 첫 번째 개정판을 만들 때 현재 Play 스토어 버전은 확실히 6.0.5가 아니라 이상입니다. 그러나 지금까지 내 기기 중 더 이상 Play 스토어 업데이트를받지 못했습니다.


이 스크립트는 작은 문제 해결 단계처럼 작동하지 않았으므로 "content query"명령을 수동으로 실행하여 실제로 "No result found"문자열이 표시되므로 다음 행 "content delete"는 아무 것도 수행하지 않습니다. IF 조건이 사실이 아닙니다.
prl77

2

가장 가까운 것은 두 가지 설정을 결합하는 것입니다. 하나는 Android 4.4.4 (KitKat)를 실행하고 다른 하나는 Android 5.0.2 (Lollipop)를 실행하는 두 개의 장치 에서이 작업을 수행합니다.

  • 시스템 설정 → Wi-Fi → 고급 → 절전 모드에서 Wi-Fi 유지 → 연결되어있는 경우에만
  • Play 스토어 → 설정 → 앱 자동 업데이트 → Wi-Fi를 통한 앱 자동 업데이트

플러그를 꽂았을 때 업데이트를 조금 더 자주 선택하는 것 같습니다. 완벽하지는 않지만 나쁜 반 솔루션은 아니며 Tasker 또는 루팅이 필요하지 않습니다.


0

이것은 Tasker (유료 앱)를 사용하여 달성 할 수 있습니다. Tasker에서 프로파일은 다음 조건을 갖도록 정의 할 수 있습니다. 학습 곡선이 거의 없지만이 앱은 거의 많은 앱을 대체 할 수 있습니다.

아래는 샘플 프로필입니다.

배터리> X % 그리고 와이파이가 켜져충전이 활성화

자동 동기화 사용

이것은 단지 하나의 샘플이므로 요구 사항에 따라 조건을 지정할 수 있습니다. 이것은 별도의 주제이므로 xda 포럼에서 Google tasker를 사용하는 것이 좋습니다.


3
모든 데이터에 대해 모든 자동 동기화를 활성화 / 비활성화하지 않습니까? Play 스토어가 자동 업데이트되지 않도록 다른 모든 서비스를 수동으로 새로 고쳐야하는 것이 이상적이지 않은 것처럼 보입니다.
Mr. Buster

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.