Google은 OEM이 새로운 Android 11 기기에서 가상 A/B를 지원하도록 요구하는 방식을 철회했으며, 이는 원활한 업데이트를 위한 기반을 마련했을 것입니다.
업데이트 1(2021년 1월 25일 @ 오후 2시 6분(ET)): Android 11 출시 이전에 Google은 실행 장치에서 가상 A/B를 지원하도록 요구하는 방식을 철회한 것으로 보입니다. 자세한 내용을 보려면 여기를 클릭하세요. 2021년 4월 7일에 게시된 기사는 아래에 보존되어 있습니다.
Google은 Android 7.0 Nougat에서 소프트웨어 업데이트 속도를 높이기 위해 설계된 파티션 구성표를 도입했습니다. Nougat에서 Google은 비활성 파티션이 백그라운드에서 업데이트된 다음 빠른 재부팅을 통해 활성 파티션으로 교체될 수 있도록 특정 파티션 복제에 대한 지원을 추가했습니다. 이것 "A/B 파티션" 설정으로 "원활한 업데이트" 가능 Google의 Chrome OS와 마찬가지로 지원되는 Android 기기에서 발생합니다. 그러나 Google은 A/B 파티션 사용을 의무화한 적이 없으므로 원활한 업데이트를 지원하지 않는 장치가 많습니다. 하지만 Google이 새로 출시된 기기에 가상 A/B 파티션 지원을 의무화했기 때문에 Android 11에서는 상황이 바뀔 수 있습니다.
약간의 배경 설명을 위해 A/B 파티션은 복제된 읽기 전용 파티션 세트를 나타냅니다. 복제된 파티션에는 일반적으로 시스템, 공급업체, 부팅 및 제품 파티션이 포함됩니다. 전화기가 업데이트를 다운로드할 때 업데이트 프로그램은 백그라운드에서 비활성 파티션 세트(하나의 "슬롯")를 패치합니다. 업데이트가 비활성 슬롯에 적용되면 사용자에게 장치를 재부팅하라는 메시지가 표시됩니다. 사용자가 장치를 재부팅하면 비활성 슬롯이 활성 슬롯과 교체되어 업데이트 프로세스가 완료됩니다. 새로 업데이트된 슬롯을 부팅하는 데 문제가 있는 경우 이전 활성 슬롯은 그대로 유지됩니다. 다음 업데이트가 출시되면 이 프로세스가 반복됩니다. 좀 더 기술적인 설명이 궁금하시다면, Google 개발자 문서를 참조하세요. A/B 파티션에서.
반면, Samsung Galaxy S20, OPPO Find X2 등 A/B 파티션이 없는 장치는 복구 프로세스에서 전용 업데이트를 통해 업데이트를 적용합니다. 이로 인해 사용자는 Android에서 빠져나오고 몇 분 동안 기기를 사용할 수 없게 되어 중요한 알림, 전화 또는 문자 메시지가 누락될 수 있습니다. Google은 업데이트 프로세스를 단순화하면 업데이트가 출시된 후 실제로 더 많은 사람들이 업데이트를 받을 수 있다고 믿습니다. 실제로 2017년 5월에 구글이 그걸 알아냈어 Nexus 사용자보다 Pixel 사용자의 비율이 더 높게 최신 보안 업데이트를 실행하고 있었습니다. 물론 사용자는 장치를 적극적으로 사용하지 않을 때 업데이트가 발생하도록 예약할 수 있지만 많은 사용자는 메시지가 표시되어도 장치를 업데이트하지 않습니다. 또한 A/B 파티션이 없으면 사용자는 잘못된 시스템 업데이트로부터 사용자를 보호할 수 있는 고유한 이점 중 하나를 놓치게 됩니다.
예를 들어 샤오미의 경우 Android 10 업데이트를 처음 출시했습니다. Mi A2 Lite의 경우 많은 사용자가 장치가 부팅되지 않는 것을 발견했습니다. 다행스럽게도 Mi A2 Lite에는 원활한 업데이트를 위한 A/B 파티션이 있습니다. 우리 포럼의 사용자를 찾았습니다 fastboot 명령을 사용하여 부트로더가 변경되지 않은 이전 활성 파티션 세트를 부팅하도록 설정할 수 있다는 것입니다. 따라서 A/B 파티션은 사용자에게 훨씬 더 빠른 업데이트 프로세스를 제공할 뿐만 아니라 잘못된 업데이트에 대한 안전 장치 역할도 합니다. A/B 파티션을 구현하지 않은 OEM은 여전히 OTA로부터 보호하기 위한 자체 방식을 엔지니어링할 수 있습니다. 이러한 보호가 A/B 설계의 일부인데 왜 그런 문제를 겪어야 할까요? 파티션? 참고로 다음은 부분적인(그리고 확실히 오래된) 내용입니다. A/B 파티션을 지원하는 장치 목록 원활한 업데이트를 위해 여기에 튜토리얼이 있습니다. 자신의 장치가 해당 기능을 지원하는지 확인하는 방법.
특정 OEM이 왜 다음과 같은지 의아해 보일 수도 있습니다. 삼성은 스마트폰에 1,400달러를 청구하지만 그렇게 멋진 기능을 제공하지는 않을 것입니다.. 그 이유는 일반적으로 스토리지로 귀결됩니다. OEM은 원활한 업데이트를 지원하기 위해 몇 기가바이트의 스토리지 공간을 희생하는 것을 원하지 않습니다. Samsung Galaxy S20과 같은 휴대폰에는 톤 사전 설치된 소프트웨어가 있으므로 /system 및 /product와 같은 파티션을 복제하면 많은 양의 대용량 파일과 응용 프로그램이 복제됩니다. Google은 저장 공간을 크게 희생하지 않고 A/B 파티션을 구현했습니다. 교묘한 트릭 덕분에 대규모 .odex 파일 복제 문제를 해결합니다. OEM이 A/B 파티션을 구현하지 않기로 선택한 또 다른 이유는 비용입니다. Android의 파티션 구성표를 지속적으로 변경하려면 XDA Recognized Developer로서 많은 노력이 필요합니다. 탑존우 당신에게 말할 것입니다. OEM이 강요하지 않는 한 많은 사람들은 이미 효과가 있는 것을 바꾸려고 애쓰지 않을 것입니다.
하지만 마지막으로 구글은 안드로이드 11에서 법을 제정하는 것으로 보인다. 새로 출시된 장치에 가상 A/B 파티션을 강제로 채택함으로써 OEM이 2020년 말과 2021년 장치에 대한 원활한 업데이트를 지원해야 한다는 점을 거의 확신했습니다. XDA Recognized Developer가 발견한 대로 luca020400, Google Project Treble 팀의 소프트웨어 엔지니어인 Yifan Hong은 AOSP Gerrit에 'R 출시 시 가상 A/B 필요." 커밋은 모든 장치가 Project Treble과 호환되는 것으로 간주되기 위해 통과해야 하는 자동화된 테스트인 Vendor Test Suite(VTS)를 업데이트합니다. 새로운 테스트에서는 시스템 속성 "ro.virtual_ab.enabled
"가 true로 설정되어 있고 "ro.virtual_ab.retrofit
"는 배송 API 수준이 30 이상인 기기에서는 false로 설정됩니다. 즉, 이 테스트는 Android 11 이상으로 출시되는 기기가 가상 A/B 파티션을 지원하는지 확인합니다. '가상' A/B 파티션은 동적으로 크기를 조정할 수 있는 파티션인 '동적 파티션'과 함께 Android 10에 도입되었습니다. 자유롭게 크기를 조정할 수 있다는 점을 제외하면 일반 A/B 파티션과 동일한 개념입니다.
Android 11로 출시되는 기기가 가상 A/B 파티션을 지원하지 않으면 VTS가 실패합니다. 기기가 VTS에 실패하면 Google 모바일 서비스와 함께 배송될 수 없습니다. 즉, Google은 OEM이 가상 A/B 파티션을 지원하고 더 나아가 원활한 업데이트를 지원하도록 효과적으로 만들었습니다.
업데이트: Android 11에는 가상 A/B가 필요하지 않습니다.
지난 4월 Google이 모든 Android 11 출시 기기에서 가상 A/B 업데이트 메커니즘, 마침내 삼성 휴대폰에 원활한 업데이트가 가능하게 되었기 때문에 많은 기대가 있었습니다. 불행하게도 Google은 가상 A/B 지원을 요구 사항으로 만들지 않기로 결정했습니다. 안드로이드 11 호환성 정의 문서 (CDD)는 현재 'MUST' 지원이 아닌 '기기 구현은 A/B 시스템 업데이트를 지원해야 합니다'라고 읽습니다. Android 11이 출시되기 전 어느 시점에 Google은 가상 A/B 지원을 요구한다는 결정을 철회하기로 결정한 것으로 보입니다. 여러 OEM의 요청. 이는 매우 자주 발생하지만 CDD의 최종 초안만 게시되므로 대중에게 전달되지 않습니다. 온라인.