Skip to content

Параграф 3: Що таке vendor і чому він має чужі бібліотеки

Vendor Tree (або просто vendor для скорочення, не плутати з розділом) - набір пропрієтарних (вже готових, зібрані виробником або ким-небудь ще) бібліотек пристрою, які просто копіюються в пристрій. Vendor складається з тих бібліотек, вихідних кодів яких немає у відкритому доступі. Здебільшого там зберігаються бібліотеки, які зі стоку (як правило, специфічні для конкретної моделі) і загальні, які взяті з CAF або смартфона з необхідною версією Android з таким самим CPU (або з його сімейства, приміром, деякі бібліотеки з msm8996 спокійно працюватимуть на msm8953) або просто з іншої моделі.

Отже, стокові бібліотеки зрозуміло чому лежать у vendor, вони заточені під цей смартфон. А навіщо все ж таки там лежать бібліотеки, які з інших пристроїв?

  1. Деякі самі по собі загальні, приміром бібліотеки AptX від crosshatch прекрасно почуваються на mido.
  2. Деякі заточені тільки під конкретний CPU/родину CPU, тим самим на різних пристроях з таким самим CPU/родиною CPU вони працюватимуть без проблем (не завжди).
  3. Раптово підійшли, навіть незважаючи на їхню специфічність.

Про 3-й пункт хотілося б докладніше, оскільки тут є маленька історія. Колупаючи бібліотеки mido, мені стрельнуло спробувати щось зробити з chromatix-бібліотеками камери. Подивився, які камери у мене на моєму mido, і пішов дивитися моделі з такими ж камерами. Виявилося, що у tissot рівно така ж фронталка. Не довго думаючи, я швиденько зробив Magisk-модуль із цими бібліотеками і... О диво, камера працює! Надихнувшись, я спробував ще й eeprom-бібліотеку взяти. Камера теж працює! Крутяк! Далі я натрапив на bardock, у нього ніби як були бібліотеки під мою основну камеру. Також зробив Magisk-модуль і... Камера працює, але все в червоних тонах. Мда, сумно, але гаразд, модуль видаляю і все повертається на круги своя.

Висновок

Іноді бувають випадки, що ось ідеально все вписується і працює, хоча здавалося б специфічні бібліотеки з іншого пристрою. З цим треба бути вкрай обережним, за невідомих наслідків можна отримати несправність пристрою.