Как стать автором
Обновить

Комментарии 85

Вопрос: как победили аппаратное ускорение?
Еще точно не могу сказать — не штудирую каждый пост темы. Думаю, стоит уточнить у самого daemond (если Вас нет на модако — могу сам спросить) :)
Совсем меня нету на модако :(
Нет проблем, напишу в личку как получу ответ :)
Лучше сюда еще отпишитесь. Я хоть во внутренностях андроида не силен, но для общего развития полезно будет.
Хаки-стабы в библиотеках чтобы подгрузить закрытые либы от 2.3. На LG и Samsung та же фигня.
Спасибо за новость, ато параноид от 8-го числа не особо=(
Побежал перешиваться.
Спасибо, хоть у меня и другой аппарат было интересно почитать.

Мне интересно другое, почему программисты-одиночки фактически могут за несколько дней выпустить новый билд, заставить работать новые версии ПО со старым железом и т.д. и при этом сами вендоры сливаются в… и перестают подерживать своих же пользователей.
У меня HTC, но после того, как я увидел сколько месяцев уходит, чтобы выпустить какое-либо обновление, и уж тем более про фактически остановившуюся поддержку недавнего флагмана, хотя ему и двух лет нету, я едва ли захочу повторения петрушки.
Стоимость смартфона сотни $. Ну накиньте несколько долларов сверху и посадите штат программистов на эти средства, которые всегда за неделю запилят свежую версию Андроида или чего там душе угодно и так в течение нескольких лет.
С гарантией аналогичная же ситуация, здесь же хватает ума объявлять о сроках и гарантировать что-то в пределах этого срока. Что мешает гарантировать регулярное обновление в течение 3 лет с момента запуска продаж или вообще с момента покупки самого устройства? Слабо верю в байки, что это стимуляция продаж, мне нахрен не надо бежать менять смарт только потому что в нем стоит 2,3,5. Мне даже глючную 401 не хочется ставить не говоря уже о том, что менять устройство.
Все, что Вы сказали, не единожды посещало меня. Абсолютно согласен со всем сказанным.
На форумах процесс не такой и быстрый, как кажется. За несколько дней выпускается очередной билд, а переход до стабильной версии длится месяцами. Андроид 4.1 вышел очень давно, а нормальную сборку мы имеем только вот сейчас. И Blade еще везучий в этом плане. Производители делают прошивки так же долго, просто не выкатывают на форумы промежуточные версии. Плюс Самсунгу нужно дополнительное время, чтобы разукрасить интерфейс во все цвета радуги. А HTC нарисовать побольше градиентов…

Речь не только о стоке — CyanogenMod не стали делать CM9/10/10.1 для блэйда.
Про градиенты и цвета радуги — это вы верно подметили :))
Позволю себе зарепостить топик

По информации MS в ОС Windows 2000 содержится 35 – 60 миллионов строк кода, а в Windows XP более 45 миллионов строк кода, который постоянно дорабатывается и модернизируется. Исходный код написан на языках программирования ассемблер, С и С++. Даже в самой Microsoft не совсем точно понимают, что же они разработали. Разбираться в коде очень и очень сложно. Скорее всего Microsoft Windows во всех своих версиях содержит уязвимость, которую исправить невозможно (по мнению некоторых сторонних исследователей в разных версиях подобные Абсолютные Ошибки разные). Лечить её примерно то же самое, как заделывать дыру в середине фундамента, на котором уже стоит многоэтажный дом. Безусловно Microsoft прекрасно осведомлены насчёт наличия Абсолютной ошибки, но не считают её уязвимостью.

habrahabr.ru/post/27256/

Так же обстоит дело и с другими ОС!!!

Абсолютные ошибки — это уже что-то из области теории заговоров. К тому же непонятно, почему наличие ошибок не должно мешать в равной степени разработчикам стоковых прошивок и энтузиастам.
Так я же не говорю чтобы вендоры занимались заплатками в старых версиях ОС. Есть готовая ОС Андроид, допишите свои драйвера к тому железу, которое _вы сами_ выбрали в своих устройствах, допишите свои приложения и темы если так уж хочется и выкатите обновление. ОС уже готова, осталось только ее переставить взамен старой.
И всё же это именно стимуляция продаж. Во-первых, новый покупатель выберет в магазине более новую (и дорогую модель), во-вторых обычный владелец телефона (не из тех, кто на Хабре) будет видеть в этом ещё один плюс для покупки нового телефона.

Обновления, которые выпускаются, служат лишь для сохранения лояльности пользователей. Создают впечатление некой поддержки.

Из текущих игроков на рынке только Apple имеет смысл обновлять ПО на старых устройствах: компания зарабатывает на контенте, и чем большему количеству человек этот контент будет доступен, тем больше прибыли она получит.

Как только какой-то производитель тоже начнёт зарабатывать на контенте, линейка телефонов сузится, а поддержка станет много лучше.
Этого производителя зовут Google. Пусть не самая главная статья дохода, но на контенте они тоже зарабатывают, и свои Nexus-ы довольно неплохо обновляют.
Nexus-ы обновляются по причине того, что они позиционируются как устройства для разработчиков, их просто нельзя не обновлять :) Т.е. в данном случае ситуации с Google и Nexus следует рассматривать как ситуацию с Microsoft и новой Windows, доступной на msdn раньше даты официального начала продаж.
Meizu выпускает обновления на свои устройства ОЧЕНЬ долго. Недавно вышел Андроид 4 на M9. Этот аппарат на рынке уже около 2.5 лет
Вот более интересна другая сторона вопроса, как и что сделано в sense? что его нельзя запустить на всём подряд? пускай даже и на том же самом аппарате. Давно уже для моего, есть 4.1, но именно sense-сборок — целых 0.00
Думаю дело в том, что у вендоров производящих смартфоны, куда более тяжелый QA процесс, в том смысле что у них есть огромные test case-ы, с сотнями, если не тысячами пунктов, что должно быть проверено на каждой прошивке, что должно работать, и как, поскольку они должны гарантировать работу всех абсолютно заявленных функций в любых возможных условиях. «Форумные прошивки» обычно и быстрее, и свежее, но порой наталкиваются на такие баги вроде «если включить функции A и B одновременно, то C может работать нестабильно». Которые по большей части — жить не мешают, но не допустимы для производителей самих смартфонов. По этому они вынужденны тестировать прошивки месяцами, исправляя все мелочи, и в случае обнаружения хоть малейших багов, которые вроде-бы затрагивают всего один мелкий компонент, — с выпуском фикса, вынужденны перетестировать всю прошивку с нуля.

Плюс во многих случаях, обновление требует участия не только самого производителя, но и операторов связи, т.к. многие «операторские» версии имеют в той или иной степени кастомизированную прошивку (например у меня телефон от Ирландского «Three», у него кастомная заставка при старте, плюс пара пустых приложений, которые позволяют получать дотуп к операторским сервисам (которые и так доступны через веб сайт :) ). Т.е. при выпуске апдейтов, вендорам нужно клепать и кучу «операторских» прошивок, или как-то согласовывать с операторами, что-бы они сами это делали, имея некие шаблонные файлы и инструкции, как что куда положить.

С учетом всего вышесказанного — я думаю им довольно дорого обходится выпуск новых прошивок, и чем кастомизированней прошивка, в смысле чем дальше от AOSP, тем сильнее это сказывается. Это в частности к HTC имхо очень даже относится, т.к. ихний HTC Sense — это довольно глубокая переработка системы, так что просто «взять новые исходники от google, положить свои драйвера, и скомпилировать» не получится точно.

Как итог, имхо, если хочется стабильных и долгих обновлений — нужно брать аппарат от Google из линейки нексусов.
Согласен насчёт больших тестов и подхода к тестам, но могли бы выпускать dev-сборки или alpha, которые вроде как не официально последние, но более или менее рабочие и могу ставиться любителями на своё усмотрение.
Посмотрите на это со стороны разработчика (прозводителя): если вы как разработчик не собираетесь доводить продукт до конечного вылизанного состояния, то в большинстве случаев — это пустая трата денег и времени, т.к. отдача будет очень незначительной, а затраты — не малые.

А если брать в рассчет те апдейты, которые доведены до ума, то их производители в большинстве своем переодически «нечайно утекают dev версию», что-бы иметь куда большую аудиторию тестировщиков, за бесплатно ;)
1. Программисты-одиночки не могут за несколько дней выпустить новый билд. Если вы внимательно читали статью, эта эпопея с обновлениями длится уже не один месяц, и разработки используются совместные (а то и вовсе CyanogenMod, а не собственная разработка программиста-одиночки).
2. Пара долларов в закупочной цене превращается в пару десятков долларов в розничной. Когда я покупаю себе телефон за 10'000 рублей, разница в 500 рублей точно вызовет у меня вопрос «Почему этот аппарат стоит 10490, тогда как совершенно такой же по характеристикам и качеству рядом стоит 9990?». И чаще всего этот вопрос будет решён не в пользу первого варианта.
3. Это экономически невыгодно. Даже если я найму дополнительный штат программистов, мне выгодней заставлять их разрабатывать новые оболочки для новых аппаратов, скорей всего, даже ещё не выпущенных, чем для тех, что выпущены даже год назад. На текущем рынке ситуация такова, что нет аппаратов-долгожителей (вспомните SonyEricsson K750i, Nokia N73, Motorola V3i...). То есть нет ни одной модели, которая задерживалась бы на рынке больше полутора лет. Так что мне выгодней, как производителю — написать хорошее ПО для моего нового флагмана, который разойдётся 100'000 тиражом, или для старой модели, которая в лучшем случае продастся ещё 5'000 раз?
Классный девайс, жаль прошлой весной его у меня украли.
Тоже владелец данного девайса. Как расходуется батарея на андроиде 4?
Фактически как и на 2.3 — к вечеру бежим к розетке (при активном пользовании). Увы, чего у нас до сих пор нет — так это ядра 3 версии :(
А что вы ходите от 3 ядра? Со свежими ядрами даже на компьютерах бывает проблема из-за проприетарных драйверов.
КонстаТ говорит, что на свежем ядре телефон заряд лучше держит.
Хм. Я почему-то думал у меня на ZP100 на Android 4.0.4 ядро 2 версии. Но оказалось 3.0.13. 1650 мАч хватает на 1,5 суток.
Нам бы хотя бы 1.5 суток. Я уже заказал на Ebay батарейку повышенной емкости, но не панацея же.
Точнее 1,5 суток при нормальной «погоде» (без мороза) и при не использовании GPS и тяжёлых игр. WiFi/EDGE включены постоянно, большую часть времени нахожусь в зоне действия WiFi.
То же самое, но интернет включается периодически. Так же почти всегда висит плеер, запускается опера мини и клиент 4пда.
Вот вроде бы и история интересная, и язык хороший, но как-то это для журнала космополитен, а не для хабра. Ни одной технической подробности, всё в скользь, похоже просто на ченджлог.
А техническими подробностями тут являются коммиты на ГитХабе. Что же мне их все сливать? :)
НЛО прилетело и опубликовало эту надпись здесь
Нет, тулчейн от линаро тут ничем бы не помог :), ниже в комменте ответ дал
Странно, он писал про него в теме 4пда.
C Motorola Defy история, пожалуй, даже поэпичнее будет…
А я, видимо, всю эпику пропустил, можно подробней?

Купил на 2.1, прошился штатно на 2.2, долго сидел на нём.

Недавно перепрошил на CyanogenMod 10 от quarkx — небо и земля конечно и по скорости, и по батарейке, ну и 4-ка всяко удобнее 2.2 =)
assert failed: getprop(«ro.product.device») == «blade» ||…
E:Error in /sdcard/cm-10.1.zip
(Status 7)
При обновлении из Recovery версии 3.0.1.4. Не сталкивались?
Возможно, старый рековери. У меня стоит 6.2.7, но нормально работает вплоть до 5 версии.
Раз Blade сделали, то и Racer пойдет? Вроде бы от блейда портировали прошивки на рейсер
Думаю, рады будем видеть KonstaT на Хабре.
Дык он финн :D
Для Хабра границы государств прозрачны. Ganster41 — тоже, вполне, будет желанным гостем тут.
Написал ему на 4пда.
Получил ответ:
Давно хотел написать в песочницу туда про процесс «адаптации» libstagefright под старые библиотеки, да руки так и не дошли. Потом уже начали посещать мысли, что новость уже потеряла актуальность, и вряд ли кто-то оценит статью… Есть в принципе идеи разбавить технические данные, так сказать, описанием самого подхода к анализу кода, ибо там тоже есть о чем рассказать) В общем не знаю, может и выделю время как-нибудь.
Сам имею похожий аппарат, но с меньшей памятью — Samsung Galaxy Ace (GT-5830), и являюсь мейнтейнером 10.1 ветки цианогена на этот девайс (Ник на XDA — WaylandACE).
По поводу ускорения видео: сначала были хаки, что бы запускать старые драйвера, потом Qualcomm таки выпустила драйвера для ICS (которые опять же хаками/слоем совместимости) работают сейчас и на JB. Часть функционала пришлось портировать с 3-ей ветки ядра (genlock, kgsl).
С декодированием видео похожая ситуация, товарищь Ganster41 хорошенько изучив изменения добавил некий слой совместимости, что бы старые библиотеки жили в новом месте. ( github.com/androidarmv6/android_frameworks_av/commit/7c8f220d6aa01d43743ca79deddd091596744c4e ) + ещё несколько корректирующих коммитов
Примерно такая же ситуация и с камерой. тут на самом деле можно очень много писать, очень :)
Вот именно поэтому я и не стал сливать коммиты Ганстера :)
А как дела обстоят на Samsung Galaxy Ace (GT-5830)? Какие прошивки написаны с какими версиями андройдов и ядер? Ещё интересует как в 10.1 под сей девайс обстоят дела с HID устройствами? Скоро закоммичу фикс в ядро от KonstaT. Пока что поддержку сделал отдельным модулем ядра для тестов…
Ну моя версия прошивки это CM10.1 с пока что 2.6.37.6 ядром. Сейчас идет работа над портированием 3-ей ветки. psyke83 может загрузится с ним, правда у него Galaxy Europa (galaxy5), точно не помню как модель называется. HID, это с какими например?
У нас на 10.1 ( github.com/KonstaT/zte-kernel-msm7x27/commits/cm-10.1 ) с ядром не работают bluetooth клавиатура и мышь (спаривание проходит успешно, соединение не устанавливается, т.к. bluedroid (4.2.1) требует /dev/uhid ). Я покурил логи, портировал из msm-3.0 драйвер uhid. Сейчас надо внимательней посмотреть какие файлы я затронул и перенёс и уже в ядро вкомпилить и протестить. Пока как модуль — всё работает хорошо :). Можно играться в OpenTTD с мышкой и клавиатурой :).
Честно говоря за неимением BT девайсов — не проверял даже) А так да — многие вещи из 3-ей ветки ядра нужны, поэтому тут 2 варианта:
1) Делать бэкпорт того, что нужно и следить за этим
2) перенести все ядро)))

последнее, что я переносил, так это Android USB gadget driver. KonstaT мой патч, насколько я помню, смерджил к вам в ядро)
Ещё вопрос, может ты прикручивал usb_host? Или знаешь как сделать это на Blade / GT-5830?
Насколько я знаю наш usb чип (fsa9280) не поддерживает хост режим
Огромное спасибо за наводку!!! Ю-хуу, сегодня накачу :)
Daemond выпустил обновление CM10 и дал объяснение об изменениях:
This build comes with changes that might be a bit controversial, but they
are a good tradeoff in my opinion. The basic idea is, the framebuffer is running
at RGB565 anyway, so it does not make much sense to use RGBX8888 for opaque
surfaces, or for bitmaps that are typically blitted to the screen without
transformations.

I've switched as much as possible and reasonable to RGB565, enabled dithering
in the appropriate places and made the drawing cache (used by the software UI
renderer) capable of 16bpp again. Overall, this reduces memory consumption,
speeds up software rendering and cuts down fillrate load on the GPU at minimal
loss of visual quality. In rare cases you will see some banding.

Especially the homescreen and lockscreen are noticeably faster and apps that
use the software UI renderer are back to the speed you might remember
from Gingerbread. Hardware-accelerated UI rendering does not benefit from these
optimizations, though, because it always uses ARGB8888 surfaces.
У меня версия с 256 мб, и перепрошивка — больная тема. Единственное, на чем более-менее Blade нормально работает, это Swedish Snow RLS7, на других полный тупак: нехватка памяти, тормоза, итд. Сейчас сижу на MokeeOS, за перевод которого огромное спасибо narkoman88, но даже Dolphin стабильно вылетает после пары более-менее тяжелых вкладок. Боюсь представить, что будет на 4.1.2.

Если я проглядел и есть пути оптимизировать все и вся и поставить 4ку на 256мб, киньте, пожалуйста, ссылку.
У меня стоит 4.1.2 и свап-раздел на 128 метров. Не лагает и даже держит 3 программы в фоне :)
И еще я поставил Seeder — реально помогает.
Молодцы они: столько энтузиастов, а вот для моего HTC Legend хоть и есть Cyanogenmod 10, но он находится в глубокой бете и фиксы редко к нему появляются. И естественно он неофициальный.

А можно попросить вас подробнее написать о том, за счёт чего работает Project Butter? Какой именно software/firmware для этого нужен? Почему нельзя использовать тот, что был у Cyanogenmod 7.2?
4.x для ZTE BLADE это прекрасно. Достойно всяческих похвал, как одиночки делают такие знаковые вещи.

А теперь более прагматичный текст. Как же мне, человеку не очень в теме прошивок телефонов, проапгрейдить свой аппарат до этого просветленного состояния.

Сейчас стоит последний стабильный CM7, ext3 раздел для Dalvik-кеша. За пару лет владения телефоном CM7 апдейтился просто, скачивал ZIP архив и в clockwork инсталлировал его — весь софт и все настройки сохранялись.

А как тут с этим обстоят дела? Также прозрачно и просто или пляски? ))
Огогошеньки! Спасибо за новость, сам бы ни за что не полез на 4pda наигрался уже с прошивками. Но теперь меня мучает дилемма, заказал себе jiayu g3, а отказываться от старичка ZTE не хочется ))
ээх, рано мой сан-франциско нырнул в унитаз…
Спасибо за хорошие новости!
Начал смотреть прошивки и крепко задумался: выбор неочевиден, непонятно что для чего.
Было бы очень здорово, если бы вы расписали по каждой прошивке: для чего она, ее особенности, плюс и минусы в виде таблички.
CM9/10/10.1 — так называемые «чистые» билды — ничего лишнего, только голый, приближенный к стоковому Android.
AOKP — имеет приложение под названием ROM Control, позволяет тонко настроить интерфейс и саму систему.
Paranoid — совмещает в себе интерфейс телефона, планшета и гибридный. Позволяет настроить разрешение для каждого приложения отдельно.
MIUI — порт прошивки компании Xiaomi. Так называемая «свистоперделка» — все красиво, удобно и функционально.

Но все они базируются на билдах CM от KonstaT, точнее, теперь уже, от daemond.
CM не чистый ни разу, а всего лишь видение развития платформы от команды CM. Чистый это AOSP.
Я не сказал, что это чистые билды, ведь не случайно поставил кавычки. Имелось в виду, что в сравнении с другими сборками туда ничего не добавляется.
Но и приложения там далеко не все родные, лончер, плеер и т.д. — все свое.
Да, но я же не про это. Ну да ладно, надеюсь, мы друг друга поняли :)
Я просто про то, что к стоку ближе всего AOSP. Те же Paranoid, AOKP и прочие чаще основываются на AOSP, а не на CM. Хотя у них сходная кодовая база, поэтому хаки друг от друга они могут использовать.
Увы, для нашего аппарата AOSP'a не существует ни в каком виде, поэтому даже AOKP основывается на билдах CM :)
Спасибо за развернутый ответ. Думаю, что многие оценят, если вы сделаете ссылку на свой комментарий в статье.
Добавил :)
Лончер (стандартный либо сторонний) хоть немного тормозит при скроллинге меню/перелистывании домашних экранов? Просто уже пару лет использую CM7 + launcher pro, в работе интерфейса абсолютно никаких подтормаживаний, перед переходом на CM10 хотелось бы узнать как с этим тут обстоят дела.
На китайце он задумывается при входе в меню, а так лагов нет.
А есть видео до и после (интересует ускорение в три раза)?
Насколько я могу судить по тредам на модако и 4пда, таким никто не занимается. Да и зачем писать видео, если ты просто юзаешь прошивку. Мнения сугубо субъективные, но ускорение действительно налицо.
Так, где скачать? )
у меня сейчас 4.0.4 на ZTE Blade)
Спасибо!
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации