LINUX.ORG.RU

Какие особенности прошивок мешают мобильной разработке и тестированию?

 , ,


0

1

Выбираю смартфон(ы) на андроиде для тестирования мобильных приложений. Помимо общих параметров, определяемых стратегией тестирования, есть неявные особенности, особенно у китайских моделей, таких доступных по цене. Хотел бы узнать что именно может внести погрешность в результаты тестов по вашему мнению? Каких производителей или оболочки следует избегать? Имеет ли смысл использовать CM?

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

И предваряя вопросы про нексусы и прочий сток, напомню, что для тестирования, в отличие от разработки, так или иначе нужно несколько девайсов с разными параметрами, поэтому важны и ценник и разнообразие.

★★★★★

Последнее исправление: Lordwind (всего исправлений: 1)

CM может значительно влиять на достоверность тестирования, особенно на ночных сборках. У меня были проблемы, например, с рендерингом текста в полях ввода и WebView при том, что сборки позиционировались как стабильные. В прошивках производителя могут быть предустановлены приложения, влияющие на работу Permissions API (у HTC, например). Я бы брал нексусы, либо что у нас там официальное на AOSP, Google Pixel. Разнообразие - юзать эмуляторы.

mcgeek
()
Последнее исправление: mcgeek (всего исправлений: 1)

Зависит от ЦА приложения. Довольно мало девайсов на 5.1 без возможности в 6.0, так что за 5.1 можно сильно не беспокоиться; в основном советую рассматривать сток (нексус) и самсунги, на 6.0 прошивках. Не советую МТК по банальной причине того, что если приложение нормально работает на самсунгах и нексусах, то и на МТК тоже проблем не будет. Самсунги обязательно нужно рассматривать, т.к. этих девайсов у юзеров очень много и у них есть свои особенности в обработке элементов.

Само собой должен быть рут.

Не должен. Если юзер делает рут или использует опции разработчика, он автоматически становится ССЗБ и сам отвечает за возможные проблемы в приложении. Разработчика это не касается.

И желательно незаблокированный загрузчик.

Только в случае, если на нексусе захочешь накатить предыдущую версию API, больше незачем.

так или иначе нужно несколько девайсов с разными параметрами, поэтому важны и ценник и разнообразие.

Nexus 5 на 6.0, Nexus 5X на 7.1 и Samsung A5 на 6.0 должно хватить. Это уже слишком дорого, но все потребности покроет, в крайнем случае от Nexus 5 на 6.0 можно отказаться и оставить два. Остальное добивать эмуляторами, иначе никаких денег не хватит на девайсы. Китайские нинад. Как уже говорил, на них и так всё будет работать, если работает на вышесказанных девайсах.

SjZ ★★★★★
()
Ответ на: комментарий от SjZ

Самсунги... у них есть свои особенности в обработке элементов.

Можно вкратце что за особенности?

Lordwind ★★★★★
() автор топика

Я бы к вышеотписавшимся взял бы «народный» телефон из категории до 4500K руб. Понятно что там всё будет тормозить, но это значительная категория покупаемых у нас телефонов. Если пишется что-то массовое, лучше взять и такое тоже. Как раз nexus можно заменить эмулятором. Самсунг сильно отличается от AOSP как и Meizu - может есть смысл посмотреть на такое, или взять у кого-нибудь на время. Если речь не только про тестирование ну и про отладку, есть смысл узнать даёт ли стоковая прошивка root и можно ли получить root через adb (adbd запщен от рута). Это позволит погонять трейсы при непонятках и иметь полную картину происходящего в телефоне. По опыту могу сказать что главным отличием от AOSP и эмуляторов я наблюдал sepolicy (SElinux), большая тормознутость storage, другая организация файлового пространства.

slapin ★★★★★
()
Ответ на: комментарий от Lordwind

Ну вот прикинь, есть у тебя экран, в нем какой-то контент, допустим, картинка, текст и горизонтальный ресайклер. Скроллишь этот экран вниз, на нексусе всё нормально, на самсунге тебе как будто скролл обрубает топором.

Или есть какой-то фид,есть какая-то менюшка, из менюшки есть какой-то переход, и вот именно на самсунге этот переход фризит. Смотришь на нексусе всё нормально.

Таких мелочей (и не только мелочей) целый вагон.

SjZ ★★★★★
()
Ответ на: комментарий от slapin

Это позволит погонять трейсы при непонятках и иметь полную картину происходящего в телефоне.

Всё это гоняется без рута.

SjZ ★★★★★
()
Ответ на: комментарий от SjZ

Ну не знаю, на андроиде 6.0 на ядре 4.4 без рута вижу одно, с рутом - другое, особенно бесит что вызовов gles нет, а у них тут есть некоторые проблемы... Тот же самый perf фиг запустишь... Я понимаю что для простых приложений типа очередного калькулятора с рекламой это всё не надо, но и ТС никаких рамок не задавал. Ему может и не нужно всё это и эмулатора хватит.

slapin ★★★★★
()
Ответ на: комментарий от slapin

Прямо щас в работе приложение, использующее геолокацию, поэтому на девайсах очень нужен fake GPS, а он только с рутом.

Lordwind ★★★★★
() автор топика
Ответ на: комментарий от Lordwind

Возьмите напарника и машину и покатайтесь. И трейсы в файл. Без провода и без wifi. Fake gps и првода и сеть вам только проблем добавят

Nastishka ★★★★★
()

microG

Вместо гугл сервисов

OyyO
()
Ответ на: комментарий от SjZ

Самсунги обязательно нужно рассматривать

А есть разница между сериями (моделями) с точки зрения прошивок? Ну то есть можно брать например A3 вместо S6? Что сейчас стоит рассматривать из новых недорогих моделей в расчете на андроид 6-7?

Lordwind ★★★★★
() автор топика
Последнее исправление: Lordwind (всего исправлений: 1)

* кастом прошивки с нестандартными темами оформления, особенно с темным фоном / светлым текстом

* самсунговские прошивки с [полу]прозрачным фоном у нотификаций вместо белый фон / серые буквы

* китайские прошивки в которых свой лок скрин вместо стандартного андроидного (что-то свое разное, вместо отображения нотификаций)

* китайские прошивки показывающие launcher icon в строке состояния, вместо специальных иконок

* прошивки, игнорирующие foreground service / wake lock, и делающие принудительную спячку

это то что сходу вспомнилось в процессе написания. на самом деле, подобных особенностей тысячи

waker ★★★★★
()

Каких производителей или оболочки следует избегать? Имеет ли смысл использовать CM?

ты что-то неправильно понимаешь о тестировании. тестировать нужно НА ВСЕХ прошивках, и делать так чтобы на них всех работало :)

waker ★★★★★
()
Ответ на: комментарий от waker

Это понятно, но если девайс не из топ10, то подстраиваться под его нюансы дороже выйдет. А у одиних производителей таких нюансов больше, чем у других. Поэтому я пока акцентирую внимание на соотношении популярности и глючности.

Lordwind ★★★★★
() автор топика
Ответ на: комментарий от Lordwind

Это понятно, но если девайс не из топ10, то подстраиваться под его нюансы дороже выйдет.

когда получишь тысячу однозведочных рейтингов в гуглосторе от «не-топ10» — сразу запоешь по другому :)

waker ★★★★★
()
Ответ на: комментарий от Lordwind

Ну то есть можно брать например A3 вместо S6?

Можно, но лучше наверно A5 т.к. не самая младшая модель. На S6-S7 конечно отчасти возможны свои заморочки, но цена слишком высокая.

Что сейчас стоит рассматривать из новых недорогих моделей в расчете на андроид 6-7?

Как основную - только Nexus. Остальное уже смотреть по юзерам. Если дофига бюджетных моделей на которых что-то работает плохо - стоит выделить на каком железе (в основном) всё валится и купить такую модель. На Android 7 самое бюджетное Nexus 5X.

ЗЫ: не возьмусь точно сказать, всё ли идентично у A* и S* моделей гнусов, но по своему опыту могу сказать, что проблемы на S7 решались и проверялись на A5, после чего жалоб не поступало.

SjZ ★★★★★
()
Последнее исправление: SjZ (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.