참고 :
다음 해결책 :
- 안드로이드 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를 연결 한 후 나중에 연결을 끊을 때 일련의 작업을 실행할 수 있는 자동화 앱을 설치하십시오 . 내가 사용 테스 커 ( 평가판 , 사용 설명서를 자동화 응용 프로그램으로).
입력 작업과 종료 작업의 두 가지 작업이 필요합니다. 관련 도움말은 여기 내 답변을 참조하십시오 .
이러한 작업은 무엇을합니까?
두 컨텍스트의 조건이 모두 충족되면 입력 작업이 실행됩니다. 해당 작업의 명령은 다음 작업을 순차적으로 수행합니다.
- 위에서 언급 한 Play 스토어 서비스를 사용하도록 설정
- 강제 중지 Play 스토어
- 해당 Play 스토어 서비스를 시작하십시오
그리고 자동 업데이트가 시작됩니다.
활성화 된 상태에서 프로파일이 비활성화 될 때마다 (컨텍스트 조건이 더 이상 충족되지 않기 때문에) 종료 태스크가 실행됩니다. 종료 작업은 다음 단계를 순차적으로 실행합니다.
- 모바일 데이터의 상태 (활성화 / 비활성화)를 변수 Mdata에 저장
이러한 명령의 역할은 다음과 같습니다.
- 모바일 데이터 비활성화
- Wi-Fi 비활성화
- 강제 중지 Play 스토어
- 강제 중지 다운로드 관리자
Wi-Fi를 사용할 수 없어 앱의 업데이트 (다운로드 진행 중)가 중단되고 진행률 표시 줄 (알림)이 사라지면 진행률 상태 가 데이터베이스 다운로드 테이블 다운로드 행에 연속적으로 저장됩니다. .db . 해당 데이터베이스는 다운로드 관리자의 데이터 디렉토리 아래에 있습니다. 해당 행에는 부분적으로 다운로드 된 파일의 위치도 포함됩니다.
다음에 Wi-Fi에 성공적으로 연결될 때 자동 업데이트가 발생하지 않도록하고 프로파일이 작업 입력을 실행하지 않을 때 자동 업데이트가 수행되지 않도록하려면 다음 명령이 수행합니다.
_data
com.android.vending에 의해 notificationpackage로 식별 된 행에 해당 하는 열의 값에서 부분적으로 다운로드 된 파일의 위치를 추출하십시오 . 우리는 그 파일을 삭제하는 것을 목표로합니다. 이것은 작은 희생입니다.
- 실제로 _data 아래에 파일 경로가있는 경우이 경로 를 사용하여 지정된 파일을 삭제하십시오.
- 해당 행을 삭제하지 않으면 네트워크 연결이 변경되고 (Wi-Fi에 다시 연결됨) 자동 업데이트가 다시 시작될 때 다운로드 관리자가 해당 행을 읽습니다.
- 자동 업데이트가 자체적으로 시작되지 않도록 전술 한 Play 스토어 서비스를 비활성화
- Wi-Fi 사용
- 이 작업을 실행하기 전에 모바일 데이터가 활성화 된 경우 활성화하십시오.
1 이 답변의 첫 번째 개정판을 만들 때 현재 Play 스토어 버전은 확실히 6.0.5가 아니라 이상입니다. 그러나 지금까지 내 기기 중 더 이상 Play 스토어 업데이트를받지 못했습니다.