안드로이드는 여러 문제점과 기능/성능을 개선한 버전이 지속적으로 나오고 있으나, 새 버전이 나올 때마다 이를 적용하는 건 하드웨어 제조사에게 엄청난 부담입니다. 그래서 안드로이드는 각 버전별로 파편화가 상당히 심한데요. 안드로이드 O부터는 이것이 달라질지도 모릅니다.
1. 안드로이드 최신 릴리즈의 오픈소스 코드가 나오면
2. 프로세서 제조 업체가 자사 제품에 맞도록 새 버전을 수정합니다.
3. 수정된 버전을 하드웨어 제조사에게 전달해 다시 자사 제품에 맞춰 수정합니다.
4. 통신 사업자와 맞춰서 테스트/인증합니다.
5. 하드웨어 제조사와 통신사가 최신 버전을 제공합니다.
이런 구조였던 것이 프로젝트 Treble을 통해 보다 쉽고 간단하게 안드로이드 버전을 업데이트할 수 있도록 바뀝니다.
안드로이드는 2007년에 나온 이후 지금까지 호환성 테스트 문서와 호환성 테스트 제품군 목록을 갱신해 왔고, 현재 10억개 이상의 디바이스에서 작동하는 앱을 만들 수 있게 됐습니다.
프로젝트 Treble는 안드로이드 OS 프레임워크를 위해 호환성 테스트 세트 CTS와 같은 일을 수행합니다. 프로세서 제조사가 작성한 디바이스 로우레벨 소프트웨어를 안드로이드 OS 프레임워크와 분리하는 것이죠.
이는 안드로이드 OS 프레임워크와 개별적인 제조사가 구현한 설계 사이에 새로운 인터페이스가 도입됨으로서 달성됩니다. 새로운 인터페이스는 호환성을 보장하기 위해 벤더 테스트 세트를 통해 검증됩니다.
프로젝트 Treble을 쓰기 전에는 안드로이드의 새 버전으로 업데이트하기 위해 안드로이드 전반에서 많은 코드를 업데이트해야 했습니다.
반면 안드로이드의 하드웨어 관련 부분에 액세스를 제공하는 안정적인 인터페이스를 제공하면, 프로세서 제조업체에게 추가 작업을 요구하지 않고 안드로이드 OS 프레임워크를 업데이트해 새로운 안드로이드를 소비자에게 제공할 수 있습니다.
이미 프로젝트 Treble 아키텍처가 구글 픽셀의 안드로이드 O 디벨로퍼 프리뷰에서 실행 중이라고 하네요.
하드웨어 아키텍처 변경 외에도 특정 국가/지역의 통신 사업자 네트워크의 변경 사항도 가져와 일반적인 안드로이드 오픈 소스 프로젝트 코드 베이스에 도입합니다.
소니와 퀄컴 같은 회사는 수많은 기능과 버그 수정을 안드로이드 O에 제공했기에, 안드로이드의 새 버전이 나올 때마다 패치를 다시 만들 필요가 없다고 합니다.