연결되어있을 때만 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.