루트 없이 백그라운드 프로세스 정지(Android 7.0+)

click fraud protection

이 튜토리얼에서는 숨겨진 ADB 명령을 사용하여 루트 없이 Android 7.0 및 7.1 Nougat에서 앱의 백그라운드 프로세스를 정지하는 방법을 보여줍니다.

Android는 타사 애플리케이션의 자유로움 때문에 iOS에 비해 항상 더 "강력한" 모바일 플랫폼으로 간주되어 왔습니다. 이를 통해 Android 애플리케이션이 백그라운드에서 실행되는 동안 더 많은 작업을 수행할 수 있기 때문에 많은 자동화가 가능해집니다. 그러나 이는 장치에서 실행되는 백그라운드 프로세스로 인해 잠재적으로 더 많은 배터리 소모가 발생할 수 있다는 단점이 있습니다.

앱이 제공하는 이점을 위해 배터리 수명의 일부를 기꺼이 희생할 의향이 있으므로 백그라운드에서 실행되는 애플리케이션을 휴대폰에 로드하고 있다는 것을 아는 것이 중요합니다. 최적화되지 않고 원하지 않거나 필요하지 않을 때 백그라운드에서 작업을 수행하는 기존 애플리케이션을 다운로드하는 경우에는 다른 이야기입니다. Google은 애플리케이션에서 수행할 수 있는 작업에 점점 더 많은 제한을 적용하여 이 문제를 해결하기 위해 노력해 왔습니다. Android O의 출시로 가장 많은 백그라운드 프로세스/수신기 제한 사항이 적용되었습니다. 멀리.

그러나 대다수의 사용자는 지금부터 몇 달 동안(전혀 없다면) 자신의 기기에서 Android O를 볼 수 없을 것입니다. 하지만 달리고 있다면 안드로이드 7.0 또는 안드로이드 7.1, 수동으로 수행할 수 있는 간단한 방법이 있습니다. 애플리케이션이 백그라운드에서 실행되지 않도록 방지 -그리고 그거 루트가 필요하지 않습니다 또는 타사 응용 프로그램. 이는 Greenify나 Brevent와 같은 앱이 제공하는 것보다 더 강력합니다. 루트 액세스가 없으면 해당 앱이 수행할 수 있는 작업이 상당히 제한되기 때문입니다. 하지만 이 트릭을 사용하면 이제 다음과 같은 작업을 수행할 수 있습니다. Facebook이나 행아웃과 같은 앱 차단 백그라운드에서 실행되지 않습니다. 적극적으로 사용될 때만 작동합니다!


백그라운드 프로세스 제한 튜토리얼

요구사항:

  • Android Nougat(7.0 또는 7.1) 기기
  1. 특정 장치 OEM용 USB 드라이버를 설치합니다(Google에서는 일부 OEM 목록을 제공합니다). 범용 USB 드라이버는 여기).
  2. 다운로드 ADB 바이너리 특정 OS(윈도우, , 리눅스). 이러한 링크는 항상 최신 버전의 바이너리를 가리킵니다.
  3. PC에서 쉽게 액세스할 수 있는 폴더에 ZIP 파일의 내용을 추출합니다.
  4. 휴대폰의 설정 앱으로 이동하여 휴대폰 정보 옵션을 탭하세요.
  5. 빌드 번호를 찾아 7번 탭하면 개발자 모드가 활성화됩니다.
  6. 설정 메인 메뉴로 돌아가서 개발자 옵션에 들어가서 USB 디버깅 모드를 활성화하세요.
  7. 휴대폰을 컴퓨터에 연결하고 "충전 전용" 모드에서 "파일 전송(MTP)" 모드로 변경하세요. 이는 모든 장치에 필요한 것은 아니지만 많은 장치에서는 ADB가 작동하기 전에 보안 조치로 이를 요구합니다.
  8. PC로 돌아가서 ADB 바이너리를 추출한 디렉터리로 이동합니다.
  9. ADB 디렉터리에서 명령 프롬프트 또는 터미널을 실행합니다. Windows 사용자의 경우 Shift 키를 누른 채 마우스 오른쪽 버튼을 클릭한 다음 "여기에서 명령 프롬프트 열기" 옵션을 선택하면 됩니다. (일부 Windows 10 사용자의 경우 "명령 프롬프트"가 "PowerShell"로 대체되어 표시될 수 있습니다.)
  10. 명령 프롬프트 또는 터미널 환경에 있으면 다음 명령을 입력하십시오. adb devices
  11. 아직 시작되지 않은 경우 ADB 데몬이 시작됩니다. 완료될 때까지 기다리세요. ADB를 처음 실행하는 경우 휴대폰에 컴퓨터 연결을 승인하라는 메시지가 표시됩니다. 여기에서 USB 디버깅 액세스를 허용하세요.
  12. 이제 10단계에서 adb devices 명령을 다시 실행하면 명령 프롬프트/터미널이 장치의 일련번호를 인쇄합니다. 그렇다면 다음 단계로 넘어갈 준비가 된 것입니다. 그렇지 않으면 USB 드라이버가 제대로 설치되지 않았을 가능성이 높습니다.
  13. 그런 다음 백그라운드 프로세스를 동결하려는 애플리케이션의 패키지 이름을 찾아야 합니다. 이 작업은 다음을 설치하여 수행할 수 있습니다. 앱 검사기 귀하의 휴대 전화에 응용 프로그램입니다.
  14. 명령 프롬프트로 돌아가서 다음 명령을 입력합니다. adb shell
  15. 이제 다음 명령을 실행하여 애플리케이션의 백그라운드 프로세스를 해제합니다. cmd appops set RUN_IN_BACKGROUND ignore
  16. 방금 변경한 내용을 되돌리고 앱의 백그라운드 프로세스를 다시 허용하려면 다음 명령을 입력하세요. cmd appops set RUN_IN_BACKGROUND allow
  17. 다른 ADB 쉘 프롬프트로 돌아가고 오류 메시지가 표시되지 않으면 작동한다는 것을 알 수 있습니다.

설명

이 명령이 정확히 작동하는 방식은 설정 앱에서 일반적으로 사용자가 액세스할 수 없는 숨겨진 권한을 제한할 수 있다는 것입니다. 이 권한을 RUN_IN_BACKGROUND 권한이라고 하며 수정할 수 있는 유일한 방법은 "cmd"를 사용하는 것입니다. appops"는 Google의 사용자 대상 권한 관리 시스템인 "App Ops"의 명령줄 인터페이스입니다.

Google은 모든 애플리케이션이 암시적 브로드캐스트 인텐트(예: 앱이 백그라운드에서 깨어나는 것) 또한 해당 애플리케이션이 JobScheduler를 사용하지 않고 백그라운드 서비스를 예약하는 것을 방지합니다(예: 앱이 부적절한 시간에 깨어나 배터리를 소모합니다). 이 명령은 실제로 낮은 메모리 조건에서 앱이 어떻게 작동하는지 시뮬레이션하려는 개발자만 사용하기 위한 것이지만 다행히도 우리가 직접 사용할 수 있습니다.

앱의 백그라운드 서비스 및 매니페스트에 등록된 암시적 브로드캐스트 수신기에 대한 종속성을 제거함으로써 개발자는 메모리가 부족한 장치에서 더 잘 실행되도록 애플리케이션을 최적화할 수 있습니다. Google은 이러한 유형의 장치 또는 메모리가 부족한 장치에 최적화된 응용 프로그램이 성능과 사용자 경험을 모두 향상시킬 수 있다고 말합니다. 올해 Google I/O에서 회사는 다음과 같이 발표했습니다. Android Go라는 Android의 수정된 버전, 이는 메모리가 매우 낮은 스마트폰에 사용될 것이므로 해당 플랫폼을 목표로 하는 개발자에게 이 명령이 유용할 것이라고 추정합니다.

어떤 경우든 이 명령은 일반 사용자에게 매우 유용할 수 있지만 여기서 제한하는 내용에 주의하세요. 행아웃이나 Facebook과 같은 앱은 열 때까지 백그라운드에서 동기화가 완전히 중단됩니다. 이것이 당신이 목표로 하는 것이라면 괜찮을 것입니다. 하지만 백그라운드 수신기에 의존하는 앱에서 이 명령을 실행하면 이메일이나 메시지가 지연되더라도 놀라지 마세요.