Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 89134 сообщений
Cообщения с меткой

андроид - Самое интересное в блогах

Следующие 30  »
kiev2376393

Обзор игры для андроид Frank Claus

Воскресенье, 28 Августа 2016 г. 15:04 (ссылка)

Frank Claus — это игра, которая выполнена в шикарном восьмибитном стиле. Хоть пиксели в игре и огромные, но выглядит это все очень красиво. Как и практически все полные игры на андроид, представленные на сайте pdalife.ru, эта игра нашла массу поклонников

Читать далее...
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Roryk_New_Top

Играй в планшетные игры на компьютере Bluestacks » Компьютерный журнал NewTop

Воскресенье, 28 Августа 2016 г. 13:17 (ссылка)
newtophhos.tk/soft/436-igra...tacks.html


BlueStacks- программа для эмуляции планшета (Андроид) на компьютереС этой программой ваш компьютер превращается в планшет. BlueStacks- программа для эмуляции планшета (Андроид) на компьютер

Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

5 UI фишек для современного Андроид приложения. Код, идеи и живой пример

Среда, 24 Августа 2016 г. 23:06 (ссылка)

image



В данной статье я хочу поделиться «фишками», которые использовал при создании своего последнего приложения. В основном это набор полезных функций и небольших компонентов для создания современного пользовательского интерфеса. Каждая «фишка» будет сопровождаться примером кода, картинкой и небольшим описанием. Я считаю, что гораздо интереснее учится на живых примерах, поэтому в конце статьи будет ссылка на репозиторий реального приложения, которое использует все описанные в статье «фишки».



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





1. Извлекаем доминантный цвет из изображения



Иногда хочется добавить немного разнообразия в цветовую схему приложения, к примеру подбирать цвета динамически, в зависимости от определённой картинки. Специально для таких случаев существует библиотека от Google — Palette. Давайте посмотрим на один из примеров её использования:



image




// Не забудте добавить Palette в build.gradle :
// compile 'com.android.support:palette-v7:+'

public static int getDominantColor(Bitmap bitmap) {
List swatchesTemp = Palette.from(bitmap).generate().getSwatches();
List swatches = new ArrayList(swatchesTemp);
Collections.sort(swatches, new Comparator() {
@Override
public int compare(Palette.Swatch swatch1, Palette.Swatch swatch2) {
return swatch2.getPopulation() - swatch1.getPopulation();
}
});
// если по какой-то причине не удалось извлечь цвета из изображения, выбираем просто случайный цвет
return swatches.size() > 0 ? swatches.get(0).getRgb() : getRandomColor();
}

public static int getRandomColor() {
Random rnd = new Random();
int color = Color.argb(255, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));
return color;
}




2. Генерируем разноцветные квадраты с буквами прямо в коде



Такие квадраты часто встречаются в популярных приложениях. Их можно легко создать прямо в коде, в виде обычного Bitmap, без дополнительной графики или xml layout-ов. Я использовал их в качестве «заглушки» когда оригинальное изображение отсутствует. Для их создания вам понадобится всего одни класс LetterBitmap. Пример его использования и конечный результат ниже:



image


int COVER_IMAGE_SIZE = 100; //in pixels
LetterBitmap letterBitmap = new LetterBitmap(context);
Bitmap letterTile = letterBitmap.getLetterTile("string for letter", "string for color", COVER_IMAGE_SIZE, COVER_IMAGE_SIZE);
ImageView imgAnyImageView = (ImageView) view.findViewById(R.id.imgAnyImageView);
imgAnyImageView.setImageBitmap(letterTile);




3. Масштабируем изображение на лету



Достаточно интересная возможность, можно комбинировать с прозрачностью, а если наложить поверх растянутой картинки полупрозрачный фон получится эффект напоминающий «blur» фильтр. Если изображение большое, лучше выполнять масштабирование в фоновом потоке, чтобы не блокировать рендеринг. Примеры обоих вариантов ниже:



image


// Функция масштабирования
public static Bitmap createScaledBitmap(Bitmap bitmap, float scaleFactor) {
Matrix m = new Matrix();
m.setRectToRect(new RectF(0, 0, bitmap.getWidth(), bitmap.getHeight()),
new RectF(0, 0, bitmap.getWidth() * scaleFactor, bitmap.getHeight() * scaleFactor), Matrix.ScaleToFit.CENTER);
return Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), m, true);
}

// Пример использования:
float COVER_SCALE_FACTOR = 2f;
final Bitmap scaledBitmap = UIHelper.createScaledBitmap(regularBitmap, COVER_SCALE_FACTOR);

// В фоновом потоке
new Thread(new Runnable() {
@Override
public void run() {
final Bitmap scaledBitmap = UIHelper.createScaledBitmap(regularBitmap, COVER_SCALE_FACTOR);
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
anyImageView.setImageBitmap(scaledBitmap);
}
});
}
}).run();




А это ссылка на Gist с вышеперечисленными примерами + примером для популярной библиотеки подгрузки картинок — Glide.



4. Программно меняем цвет текста поискового поля внутри Toolbar



Я потратил кучу времени пытаясь поменять цвет стандартной строки поиска внутри Toolbar не создавая отдельного layout. Большинство советуют настроить стили темы в styles.xml, иногда это помогает для Андрода 5.0+, но не работает на более ранних версиях. Поэтому я предлагаю простое и универсальное программное решение:



image


    public static void changeSearchViewTextColor(View view, int color) {
if (view != null) {
if (view instanceof TextView) {
((TextView) view).setTextColor(color);
return;
} else if (view instanceof ViewGroup) {
ViewGroup viewGroup = (ViewGroup) view;
for (int i = 0; i < viewGroup.getChildCount(); i++) {
changeSearchViewTextColor(viewGroup.getChildAt(i), color);
}
}
}
}

// Пример использования:
Toolbar toolbar = (Toolbar) findViewById(R.id.your_toolbar);
MenuItem searchMenuItem = toolbar.getMenu().findItem(R.id.action_search);
SearchView searchView = (SearchView) searchMenuItem.getActionView();
setSearchViewStyle(searchView);
changeSearchViewTextColor(searchView, Color.WHITE);




5. Кнопки с закруглёнными краями



Завершить пятерку я решил примером layouta для кнопок с закруглёнными краями, такие кнопки использовались в одной из последних версий и Google Play и уж очень мне приглянулись. Возможно, и Вы сможете найти им применение в своем приложении:



image




Для Андроид 5.0+:














Для более ранних версий:


























Для применения разложите XML файлы по папкам drawable и drawable-v21 соответственно, а потом просто задайте как фон для любой кнопки.



P.S Как и обещал, оставляю ссылку на репозиторий приложения, в котором применялись все вышеперечисленные «фишки» — Github
Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/308378/

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
kiev2376393

В японском банке появился андроид-помощник

Вторник, 23 Августа 2016 г. 18:56 (ссылка)

Робот получил имя Нао.

Читать далее...
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
sovet7ya

Обзорная статья Android-планшетов

Четверг, 11 Августа 2016 г. 21:34 (ссылка)

1 (700x700, 116Kb)


Обзорная статья Android-планшетов



Sony Tablet S.





 



Этот планшет по праву можно считать самым стильным, удобным и самым необычным среди прочих Android-планшетов. Дизайн планшета продуман до мелочей, и придраться просто не к чему.



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



Tablet S имеет внешний неповторимый вид. Из технических характеристик можно выделить: ОС Android 3.1; 1ГБ памяти; экран диагональю в 9.4 дюйма; видеозвонок; датчик для освещения; также можно управлять бутовой техникой беспроводным способом; и прочее.





 



Acer Iconia Tab





 



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



Технические характеристики: семидюймовый экран; неповторимый дизайн; можно рисовать; достаточно быстрая работа; уникальное оформление интерфейса.





 



Samsung Galaxy Tab 10.1





 



Эта модель планшета просто восхищает своим дизайном.



Технические характеристики: толщина корпуса всего – то 7 мм; мощнейшая комплектация; ОС - Android; в продаже только 3G вариант. Дисплей 10.1дюйм; воспроизводит до 16 миллионов цветов; видеозапись; видеозвонки; 1 ГБ памяти; плеер, приёмник, проигрыватель, видео; вес планшета достигает 600 гр.



Плюсы: самый маленький вес; антибликовое покрытие; олеофобное покрытие экрана.



Минусы: встроенную память не расширить; интерфейс не стандарт.





 



Asus Eee Pad Transformer.





 



Одна из свежих и уже популярных моделей Android – планшетов. У этого планшета имеется в комплектации клавиатура, которая отдельно подключается к корпусу. Шестичасовая зарядка. USB порт. Эта же модель считается самой востребованной и высокопродаваемой.





 



iconBIT NetTAB RUNE



В комплект входит: планшет, кабель и наушники. И отдельно от комплекта выдаётся блок питания. Некоторые из технических характеристик: ОС, ОЗУ, беспроводной модуль, поддерживает несколько языков, может записывать информацию, клавиатура, 5 часов произведения видео, 15 часов воспроизводит музыку, 7 часов Интернета.



Отличительные особенности планшета: соотношение сторон экрана – 4:3, а разрешение – 800*600. Дисплей у планшета широкоформатный. В модель больше умещается информации и можно реже «перелистывать странички». Сенсор ёмкостный и поддерживает всего несколько касаний. Дисплей защищён плёнкой, так как экран имеет пластиковую защиту.

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Chizz_TecTeP

Обновление быстропоста. Возможность добавить сообщество в ленту.

Суббота, 06 Августа 2016 г. 23:19 (ссылка)


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







Have fun :)

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Chizz_TecTeP

Быстропост. Мануал. Часть 3. Делаем пост в блог

Среда, 03 Августа 2016 г. 15:11 (ссылка)


У меня есть приложение на телефоне, через которое я смотрю ленты друзей, пишу сообщения в блог и иногда даже комментирую посты друзей. На данный момент активных установок приложения 130. Приложение постоянно обновляется и улучшается.


 


Пишу серию мануальчиков, чтобы потом всё сложить в один большой и полный мануал.


Как сделать пост в блог через приложение на Андроид для Лиру



 


При нажатии на кнопку "быстропост" открывается такое окно:


 


1966518_first (393x699, 47Kb)


 


 


1 - здесь пишем заголовок поста


2 - здесь пишем текст поста


3 - это дополнительные кнопки, с помощью которых можно указать теги, степень закрытости поста, добавить рубрику и фотографии. 


1966518_menu (387x58, 8Kb)


 


Слева направо.


 


- Получение и выбор рубрик


- Добавление тегов


выбор кому видно сообщение (всем или только друзьям или только хозяину)


прикрепить одно изображение


прикрепить несколько изображений. (лучше использовать этот режим)


 


 


4 - по этой кнопке пост улетает для публикации на лиру


5 - по этой кнопке пост улетает в черновик на лиру (Draft по-английски черновик)


 


Так же есть дополнительные возможности, которые открываются через меню слева (нужно провести пальцем слева-направо)


1966518_130817685_Screenshot_20160803112151 (393x699, 46Kb)


 


Можно отправить пост в сообщество (вы должны быть админом сообщества или сообщество должно быть немодерируемым)


А так же есть две интересные кнопки "Сохранить в черновик" и "открыть черновик". Это локальный черновик, который может вместить в себя только одну запись. Так сказать оперативка. Он нужен, если вы пишете длинный пост и не хотите, чтобы он потерялся при неудачной отправке на лиру (а такое случается). 


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


 


Полезные ссылки


 



 



 



 
Метки:   Комментарии (1)КомментироватьВ цитатник или сообщество
kiev2376393

В японском банке появился андроид-помощник

Среда, 27 Июля 2016 г. 15:47 (ссылка)

Робот получил имя Нао.

Читать далее...
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_rss_hh_new

Как настроить расширяемую систему для регрессионного тестирования на телефонах: опыт мобильной Почты Mail.Ru

Пятница, 22 Июля 2016 г. 15:07 (ссылка)





Привет, Хабр! Сегодня я хочу рассказать, как мы построили с нуля гибкую и расширяемую систему для выполнения автотестов на Android-смартфонах. Сейчас у нас используется около 60 устройств для регрессионного тестирования мобильного приложения Почты Mail.Ru. В среднем они тестируют около 20 сборок приложения ежедневно. Для каждой сборки выполняется около 600 UI-тестов и более 3500 unit-тестов.



Автотесты доступны круглосуточно — они экономят очень много времени тестировщиков и позволяют нам выпускать качественное приложение. Без них мы бы тестировали каждую сборку 36 часов (с учетом ожидания) или примерно 13 часов без ожидания. Вместе со сборкой, актуализацией переводов, при рабочей загрузке агентов с автотестами тестирование в среднем занимает 1.5 часа, что ежедневно позволяет нам экономить недели работы тестировщиков.



Мы рассмотрим, как всё делать с самого начала тем, кто занимается написанием автотестов, а не инфраструктурой: начиная от покупки телефона, его перепрошивки и заканчивая созданием docker-контейнеров, внутри которых будет доступен телефон для автотестов.



Какие телефоны выбрать для автотестов на Андроиде?





Когда Android только-только становился популярным, у разработчиков тестов был выбор из двух зол: покупать дорогой зоопарк телефонов либо работать с медленными и глючными виртуалками. Сегодня всё несколько проще, на рынке появились дешёвые аппараты «эконом»-класса, а виртуальный Андроид обзавёлся образом для x86 и HAXM. Однако выбор всё ещё остался, многие предпочитают для автотестов виртуальные машины, но телефоны уже стали вполне доступной опцией даже для скромного бюджета на автотестирование. Так как же выбрать телефон для регрессионных автотестов и какое оборудование ещё нужно, чтобы всё вместе оно могло работать 24/7?



Рынок телефонов очень большой — глаза разбегаются. Какие же критерии выставить при выборе телефона? У меня после череды проб и ошибок вышел такой список (цену на аппарат опускаю, с ней, надеюсь, всё понятно):




  1. Есть возможность получить права root.

  2. Есть возможность анлока boot-раздела телефона.

  3. На телефоне стоит версия Андроида, максимально близкая к стоковой, или подобные можно установить (чтобы не пришлось лопатить кучу вариантов теста под разные интерфейсы).

  4. Оперативная память на телефоне желательно должна быть размером от 1 Гб (можно работать и на меньшей, но, даже если тесты написаны стабильно, различные проверки отображения «тяжёлых» объектов на телефоне с низкой оперативной памятью окажутся долгими).

  5. Совсем здорово, если у телефона будет долгий саппорт от производителя/пользователей, тогда у нас остаётся шанс продлить ему жизнь новыми версиями ОС.



Основная часть критериев достаточно прозрачна. Если окажется, что на телефоне что-то работает не так, то мы должны хотя бы иметь шанс заставить это работать сами. :) К сожалению, большая часть критериев — это не те вещи, о которых можно спросить продавца при покупке, поэтому в первую очередь наш путь лежит на forum.xda-developers.com и 4pda.ru/forum, где о рыночной модели можно узнать все подробности. Плюс ко всем перечисленным критериям, если модель уже долго продаётся, обращайте на форумах внимание на отзывы о браке и времени ресурса памяти и батареек, без них ваше устройство превратится в тыкву. Проблемы экрана, кнопок, корпуса, динамиков и прочего, что обычно интересует пользователя, вас, как правило, пугать не должны: телефон прекрасно будет работать с браком этих элементов, хотя всё зависит от специфики проекта.



После выбора модели телефона лучше всего сначала заказать одну-две штуки на предварительные тесты, проверить, что операционная система не готовит никаких сюрпризов, все написанные тесты на них корректно проходят и что железо соответствует заявленным производителем характеристикам. В моей практике самые жестокие проколы при покупке были следующие:



1. Модель телефона имеет кучу региональных подвидов, при этом только на части из них можно получить рут или разлочить бутлоадер. Мало того что наткнуться на российский сертифицированный телефон в неофициальном магазине сложно — серые и белые телефоны выглядят одинаково, — так ещё и многие продавцы или их поставщики перепрописывают названия моделей, характеристики железа, регионы и даже версии операционных систем. Вполне возможен случай, когда внутри «Настроек» в Андроиде вы видите одну модель, внутри бутлоадера другую, а в шелле, когда набираете getprop и получаете айдишники, — третью. Просто телефон прошёл пару рук и пару регионов до вас. Сначала его хозяином был пользователь Веризона из Южной Дакоты, потом тот сдал его, в refurbished-состоянии аппарат как-то попал торговцу в Тель-Авиве, который его криво перепрошил на их версию операционной системы, а через ещё какое-то время телефон перекупил продавец в Москве, который уже стал продавать его как новый. Вам привозит его курьер, вы берёте в руки своё новое восьмиядерное перепрошиваемое российское устройство, не подозревая, что это шестиядерный залоченный региональный эксклюзив для контрактных пользователей оператора сотовой связи из США.





Элементы коробки и телефона с «современной» начинкой и высокой ценой, который по внутренним характеристикам оказался перепрошитой младшей моделью от AT&T



2. Один и тот же серийный номер. Здесь определить проблему попроще, но, к сожалению, даже официальные продавцы этим страдают, отсутствие серийного номера — это напасть многих бюджетных девайсов. Если при работе ваших автотестов используется adb, а к машине подключено несколько устройств, нужно либо переписывать код adb (так он увидит только один девайс), либо, если покупка совершалась по критериям выше, вписывать уникальный серийник самому.





Типичные значения серийников у бюджетных телефонов



3. Псевдослучайный MAC-адрес у Wi-Fi-модуля после перезагрузки телефона. Это была довольно серьёзная проблема, потому что мы узнали о ней, когда я убедился, что «всё хорошо», телефон нам подходит, и мы заказали 20 штук точно таких же. :) В процессе работы автотестов телефоны иногда перезагружаются, через какое-то время тесты начали падать из-за отсутствия доступа к сети по Wi-Fi, хотя всё при этом выглядело нормально: соединение с сетью было и после включения/выключения Wi-Fi-модуля всё работало корректно. Просто после ребутов в какой-то момент у пары телефонов оказывался одинаковый MAC, Wi-Fi-точка доступа же пускала только последний присоединившийся. На тех телефонах, где в итоге генерился MAC-адрес, я, к сожалению, не нашёл, пришлось в загрузочном разделе поместить скрипт, который устанавливал его насильно на уникальный.





Телефон демонстрирует чудеса spoofing’а из коробки



Тем не менее, если соблюдать при выборе телефона перечисленные выше критерии, эти проблемы не должны быть фатальными — всё это можно исправить руками и заставить телефон работать как нужно.



Кроме телефонов, для запуска автотестов понадобится сам компьютер и USB-хабы, тут тоже есть несколько нюансов. Постоянно работающим телефонам нужно хорошее питание (минимум 0,5 А на устройство, лучше больше), многие хабы на рынке идут со слабыми адаптерами и никак не рассчитаны на то, что в каждый порт будет подключён постоянно работающий телефон. С планшетами ещё сложнее, девятидюймовые планшеты при постоянной работе разряжаются, экран слишком большой, приходится выбирать из семидюймовых. Из практики у нас вышло, что на адаптер в 4 А можно подключить 6–7 телефонов (в зависимости от их загрузки работой), т. е. большая часть многопортовых хабов с характеристиками типа «адаптер на 3 А, 20 USB-портов», мягко говоря, бесполезны. Самые крутые — серверные решения, но цена у них зашкаливает, так что ограничимся пользовательским рынком. Чтобы телефоны не разряжались, стоит брать хабы на четыре порта с питанием в 3 А, либо хабы на шесть портов с питанием на 4 А. Если есть хабы с хорошим питанием, но с большим количеством портов, — часть портов можно просто не использовать.



Готовим телефон к работе



Давайте для примера возьмём одну модель телефона, решим одну из проблем его операционной системы, а дальше попробуем собрать эти устройства в примитивный тестовый стенд для автотестов. Телефон сам по себе дешёвый и хороший, но с некоторыми недостатками (описанными выше). В частности, у этих телефонов одинаковый iSerial, adb видит только одно устройство. :( Совсем везде на телефоне его менять не будем, но сделаем так, чтобы adb отдельные телефоны отличал.



Для этого нам нужно будет перепрошить у телефона boot-раздел и установить на устройстве кастомный раздел восстановления — так вы сможете уберечься от неудачных экспериментов. У наших телефонов стоит МТ6580, т. е. процессор фирмы Mediatek, значит, для перепрошивки можно использовать SP Flash Tool. Ещё нужны готовый образ recovery.img и scatter-файл устройства. Почти для всех устройств их можно найти в интернете, на тех же самых ресурсах XDA и 4PDA, но при желании recovery можно перекомпилировать для своего устройства, взяв за основу TWRP, а scatter-файл создать самому. В любом случае берём наши готовые файлы и перепрошиваем:







После установки раздела восстановления сохраните через него бэкап boot-раздела и переместите его к себе на машину, обычно в этом разделе располагаются конфигурационные файлы ОС. Чтобы захардкодить свой iSerial, нужно распаковать образ загрузочного раздела телефона, это можно сделать с помощью Android Image Kitchen. Запускаем unpackimg.sh и получаем распакованный образ в папке ramdisk:







Здесь много init-файлов, в которых указываются различные переменные, в том числе и серийный номер.







Находим файл, где устанавливается серийный номер ${ro.serialno}, и заменяем его на свой номер, например 999222333019:



find ramdisk/ -maxdepth 1 -name "init.mt*" -exec sed -i 's/${ro.serialno}/999222333019/g' {} +


Запаковываем образ обратно с помощью repackimg.sh, перекидываем его на телефон и устанавливаем с помощью кастомного рекавери. Теперь adb будет отличать устройства, нам остаётся включить режим разработчика на телефоне и разрешить debug в меню разработчика. Любые подобные проблемы можно решать точно таким же путём, практически всё в телефоне можно перепрошить или поправить, если этого потребуют задачи тестирования.



Настройка тестовой машины



В качестве хоста нашего стенда будем использовать обычный десктоп с установленной на него Ubuntu. Телефоны затем можно будет разделить на отдельные виртуальные машины, использовать все вместе или, как это делаю я, разделить их в отдельные docker-контейнеры.



При заказе/сборке машины, к которой будут подключены телефоны, есть специфика. Кроме стандартных HDD/RAM/CPU, нужно обратить внимание на количество USB-контроллеров на материнской плате и поддерживаемый протокол USB. Телефоны, работающие на USB 3.0 (xHCI), могут существенно ограничить максимальное количество устройств на машине (обычно 8 на контроллер, в итоге 16 устройств на машину с двумя контроллерами), поэтому стоит проверить, есть ли возможность его отключить и использовать только EHCI. Такие опции есть в биосе или ОС, лучше всего насильно отключить xHCI в биосе, если вам не нужны высокоскоростные устройства.



Создаём контейнер для телефона



Если нужно, чтобы слейв / агент системы интеграции работал с отдельным телефоном, то их следует как-то разделить. У нас агенты запускаются в отдельных docker-контейнерах, каждому из которых доступно по одному устройству, — так мы можем распределять задачи в CI на отдельные устройства, а точнее на их возможности (например, контейнер с планшетом может выполнять тесты, для которых требуется широкая диагональ экрана, а контейнер с телефоном — тесты, для которых нужна возможность принимать SMS-сообщения). Пример установки и настройки системы на Ubuntu описан далее. Устанавливаем сам Docker:



sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
echo 'deb https://apt.dockerproject.org/repo <версия ubuntu> main' >> /etc/apt/sources.list.d/docker.list
sudo apt-get update
sudo apt-get install docker-engine


В качестве сторадж-драйвера будем использовать overlayFS (работает быстрее дефолтного):



echo 'DOCKER_OPTS="-s overlay"' >> /etc/default/docker


Создаем dockerfile, из которого будем делать образы. Добавим в него Android SDK:



FROM ubuntu:trusty
ARG DEBIAN_FRONTEND=noninteractive

RUN apt-get update -y && \
apt-get install -y software-properties-common && \
add-apt-repository ppa:webupd8team/java -y && \
apt-get update -y && \
echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections && \
apt-get install -y oracle-java8-installer && \
apt-get remove software-properties-common -y && \
apt-get autoremove -y && \
apt-get clean
ENV JAVA_HOME /usr/lib/jvm/java-8-oracle
ENV ANT_VERSION 1.9.4

RUN cd && \
wget -q http://archive.apache.org/dist/ant/binaries/apache-ant-${ANT_VERSION}-bin.tar.gz && \ tar -xzf apache-ant-${ANT_VERSION}-bin.tar.gz && \ mv apache-ant-${ANT_VERSION} /opt/ant && \ rm apache-ant-${ANT_VERSION}-bin.tar.gz

ENV ANT_HOME /opt/ant
ENV PATH ${PATH}:/opt/ant/bin

ENV ANDROID_SDK_VERSION r24.4.1
ENV ANDROID_BUILD_TOOLS_VERSION 23.0.3

RUN dpkg --add-architecture i386 && \
apt-get update -y && \
apt-get install -y libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 && \
rm -rf /var/lib/apt/lists/* && \
apt-get autoremove -y && \
apt-get clean

ENV ANDROID_SDK_FILENAME android-sdk_${ANDROID_SDK_VERSION}-linux.tgz
ENV ANDROID_SDK_URL http://dl.google.com/android/${ANDROID_SDK_FILENAME}
ENV ANDROID_API_LEVELS android-15,android-16,android-17,android-18,android-19,android-20,android-21,android-22,android-23
ENV ANDROID_HOME /opt/android-sdk-linux
ENV PATH ${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools
RUN cd /opt && \
wget -q ${ANDROID_SDK_URL} && \
tar -xzf ${ANDROID_SDK_FILENAME} && \
rm ${ANDROID_SDK_FILENAME} && \
echo y | android update sdk --no-ui -a --filter tools,platform-tools,${ANDROID_API_LEVELS},build-tools-${ANDROID_BUILD_TOOLS_VERSION}

###Добавим файл системы интеграции, это может быть слейв дженкинса, агент Bamboo и т. п., в зависимости от того, с чем вы работаете
ADD moyagent.sh /agentCI/


В докерфайл также можно добавить все необходимые библиотеки и файлы, которыми будет пользоваться агент системы интеграции. Соберём dockerfile:



docker build .


Теперь у нас есть образ с Android SDK, осталось сделать так, чтобы он видел только одно устройство. Для этого будем цеплять его через симлинк c помощью udev:



echo ‘"SUBSYSTEM=="usb", ATTRS{serial}=="$DEVICE_SERIAL", SYMLINK+="androidDevice1"’ >> /etc/udev/rules.d/90-usb-symlink-phones.rules


Вместо $DEVICE_SERIAL вписываем наш свежепрошитый серийник. Перезапускаем определение правил устройств:



udevadm control --reload
udevadm trigger


Теперь в пути /dev/androidDevice1 у нас будет симлинк на устройство, осталось передать его в контейнер при запуске:



docker run -i -t --rm --device=/dev/androidDevice1:/dev/bus/usb/001/1 android-docker-image:latest adb devices


Как только убедимся, что телефон из контейнера виден только один, можно запускать расположенный в контейнере агент системы интеграции:



docker run -i -t --rm --device= /dev/androidDevice1:/dev/bus/usb/001/1 android-docker-image:latest /bin/sh /agentCI/moyagent.sh


Кстати, ключ --device стал работать с симлинками относительно недавно (master-ветка на Гитхабе), до этого приходилось генерить из симлинка realpath c помощью скрипта и уже его передавать Докеру, так что если у вас не выходит подключение устройства, то добавьте в udev в параметр RUN+= такой скрипт:



realpath /dev/androidDevice1 | xargs -I linkpath link linkpath /dev/bus/usb/010/1


После этого в старых версиях Docker добавить телефон можно так:



docker run --privileged -v /dev/bus/usb/010/:/dev/bus/usb/100/ -i -t  android-docker-image:latest adb devices


Всё, можно подключать свой слейв к системе интеграции и работать с ним.



Заключение



Физические мобильные устройства в системе интеграции рано или поздно появляются у любого более-менее крупного проекта на Андроиде — неизбежно возникают необходимость покрытия ошибок, нестандартные тестовые случаи или просто фичи, которые требуют реального устройства. Кроме всего этого, устройства не используют ресурсы ваших серверов, так как процессоры и память у них свои, а хост для телефонов не должен быть супермощным, «домашний» десктоп со всем этим вполне справится. Соизмеряйте плюсы и минусы, считайте, что выгоднее, — наверняка в вашей системе автоматизированного тестирования есть место реальным устройствам. Желаю вам поменьше багов и побольше тестового покрытия. :)
Original source: habrahabr.ru.

https://habrahabr.ru/post/306236/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best

Комментарии (0)КомментироватьВ цитатник или сообщество
Chizz_TecTeP

Быстропост. Мануал. Часть 2

Четверг, 21 Июля 2016 г. 15:33 (ссылка)


Итак, вы ввели логин и пароль и если не ошиблись и у вас нормально работают куки, то вы увидите это..





Screenshot_2016-07-21-15-14-22 (393x700, 26Kb)



Боже, что это..





ZomboMeme21072016151339 21072016151339 (550x412, 45Kb)



Объясняю, что означают кнопки сверху слева направо.



1. Открывает случайный дневник

2. Добавляет ленту, которую вы хотите читать (так же можно добавить свой блог и ленту друзей)



После добавления лент это выглядит как-то так


Screenshot_2016-07-21-15-18-29 (393x700, 87Kb)



3. Кнопка опций. Что там и зачем расскажу позже.





Ну и самая главная кнопка "быстропост" открывает редактор, в котором нужно набрать пост, добавить теги, картинки, рубрики и отправить на лиру.



Зы. Данный пост создан и отправлен через быстропост


Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
Chizz_TecTeP

Быстропост. Мануал. Часть 1

Четверг, 21 Июля 2016 г. 15:04 (ссылка)


Habby настаивает на том, чтобы я сделал мануал по своей программе - клиенту для лиру Lirurssreader aka Быстропост. 



Но я же...




Кстате, аватарка ничего так получится.. Надо б обновить.


 


Итак, чтобы дело сдвинулось с мертвой точки, надо сделать первый шаг. 


 


1. Запуск программы




 


1.1 Вход и авторизация.


 


Вводим логин и пароль, нажимаем "Войти"


 


При удачной авторизации логин и пароль сохраняется в телефоне и при следующем запуске программы автоматически подтягивается в эти поля. Если ввести другого пользователя и войти, то потом можно будет выбрать одного какого-нибудь пользователя из списка, который выше поля ввода имени пользователя. При выборе автоматически подтягивается логин и пароль в поля ввода. Остается нажать только "Войти"


 


1.2 Настройки


 




 



Настройки загрузки релевантны только для загрузки RSS ленты дневника. В RSS - ленте показывается только 20 последних записей блога. Можно грузить не все для экономии трафика. Кнопка "Быстрая загрузка" включает режим, при котором ленты загружаются быстрее. При этом используется промежуточный сервер, через который идет обмен с лиру. Режим имеет смысл включать, если вы не грузите все записи из Rss-Ленты. Если грузите все, то скорость загрузки одинакова. Разве что при быстрой загрузке картинки не подгружаются. Лично я использую обычный режим. В этом режиме обмен идет напрямую с лиру и сразу подгружается одна картинка из поста. Но если у вас медленный интернет или вы в роуминге, то лучше использовать быстрый режим и ограничить количество загружаемых постов. Так тратится гораздо меньше интернета. 


 


Шрифт - задает размер шрифта, который будет использоваться в ленте. 


 



1.3 Кнопка зарегистрироваться


По этой кнопке просто открывается браузер со страницей регистрации лиру. 


 


Уфффф... Умаялся.. 


 

Метки:   Комментарии (1)КомментироватьВ цитатник или сообщество
Chizz_TecTeP

Андроид вирус блокирует звонки в банк

Четверг, 21 Июля 2016 г. 13:18 (ссылка)

Некоторые пользователи могли сталкиваться с проблемой, когда деньги с их банковских карт уходят в неизвестном направлении. Чтобы прояснить ситуацию, необходимо обращаться к сотрудникам банка. Злоумышленники нашли способ предотвращать это, создав для Android вирус Android.Fakebank, который блокирует звонки в банк. Компания Symantec, специализирующаяся на разработке программного обеспечения в области информационной безопасности и защиты информации, заявила об этом вирусе ещё в 2013 году, но сейчас в сети появилась его более продвинутая версия.

Попадая на смартфон, вирус не даёт пользователю позвонить в банк, чтобы выяснить, куда пропадают деньги, и заблокировать карту. Конечно, можно воспользоваться другим телефоном или сходить в банк, но это даёт злоумышленникам время, чтобы снять больше средств. Хорошая новость заключается в том, что вирус распространён лишь в некоторых регионах, а плохая - что этими регионами являются Россия и Южная Корея.

Единственным способом обезопасить себя от заражения устройства этим или иным вирусом является скачивание приложений только из проверенных источников, вроде Google Play, и проверка отзывов других пользователей.

[Новый вирус для Android блокирует звонки в банк]: Посмотри! http://news.uodoo.com/p/detail/3827914573729850?uc...dsontop&ch1=hotwords072105

Метки:   Комментарии (7)КомментироватьВ цитатник или сообщество
AndroidPlay

Где скачать Покемон Гоу на андроид в России?

Среда, 20 Июля 2016 г. 17:30 (ссылка)




Многие сейчас ищут где можно скачать Покемон Гоу на андроид без вирусов и смс. Также многие задаются вопросом будет ли работать игра Pokemon Go у них на андроид устройстве, будет если у вас андроид 4.4 или выше. Если у вас андроид ниже 4.4 и вы не можете обновить, значит выход только один если вам очень хочется пограть, ждать официального выхода игры в России, Украине, Белорусии.



А пока можете попробовать счастье на нашем сайте. Гарантируем игра вам понравится! Смотрите видео обзор : https://www.youtube.com/watch?v=InwYVz83FN4



А скачать можно по ссылке ниже



Скачать игру


Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
valdani

Секретные коды для Андроид.

Вторник, 19 Июля 2016 г. 17:20 (ссылка)

Это цитата сообщения Goodwine Оригинальное сообщение

Секретные коды для Андроид.






 






При помощи специальных комбинаций клавиш можно получить самые разные сведения или произвести существенные изменения функциональности мобильного телефона.


Наиболее востребованные и интересные коды представлены Вашему вниманию ниже по тексту.


1) *#06#


Позволяет узнать уникальный номер IMEI любого смартфона, в том числе и iPhone.


 


2) *#21#


Позволяет получить информацию о включенной переадресации — звонков, сообщений и других данных. Очень удобно, если вы хотите проверить, не шпионит ли кто-нибудь за вами.


 


3) *#62#


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


 


4) ##002#


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


 


5) *#30#


Предоставляет информацию об определении номера входящего абонента


 


6) *#33#


Показывает информацию о блокировке исходящих поддерживаемых сервисов, таких как звонки, SMS и других данных.


 


7) *#43#


Отображает информацию об ожиданиях вызова.


 


8) *3001#12345#*


Так называемое меню «Джеймса Бонда»: здесь и информация о SIM-карте, и уровень сигнала сотовой сети, даже нашлось место показателям приема сотового сигнала. Все данные, кстати, оперативно обновляются.


 


9) *#*#3646633#*#*   — инженерное меню для Андроид-смартфонов на чипе МТК


 


Секретные коды для смартфонов Samsung:


1) *#0*# — используется для тестов экрана, динамиков, проверки цветности, на битые пиксели, и т.д.

2). *#1234# — можно узнать версию прошивки Galaxy S4.

3). *#0228# — статус аккумулятора: температура, напряжение, емкость, ADC, RSSI.

4). *#12580*369# — главная информация о Samsung Galaxy S4 (ПО и аппаратная часть).


Поделитесь этими советами с друзьями - они будут Вам благодарны!!!
Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

Следующие 30  »

<андроид - Самое интересное в блогах

Страницы: [1] 2 3 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda