суббота, 26 мая 2012 г.

Устанавливаем тестируемое приложение на Ваше устройство

Подготовка к разработке и тестированию

Если был приобретен новый девайс – необходимо подготовить его к разработке и тестированию:

iOS

1)   Узнать UDID девайса: через iTunes или iPhone Configuration Utility: Mac, Win

iTunes:

  • идем в детали подключенного девайса
  • кликаем на Serial Number – он изменится Indentifier (UDID)

iPhone Configuration Utility:

  • идем в детали подключенного девайсa
  • ищем Identifier

2)   Необходимо выслать этот UDID разработчикам. Они добавят девайс в Provision Profile и вышлют его Вам.

3)   Добавляем provision profile даблкликом на нем

Добавить provision на девайс можно двумя путями:

1)   iPhone Configuration Utility

  • клик на Provision Profiles
  • клик на Add
  • выбираем загруженный provision profile

2)   XCode

  • идем в Organizer (иконка в правом верхнем углу)
  • переключаемся на вкладку Devices
  • кликаем “Use device for development” -  на девайс выгрузятся все provision профайлы, доступные на компьютере

После этого можно ставить дебажные/тестовые билды через *.ipa файлы или собирать билд их исходников с использованием xCode

Provision profile - профиль, используемый Apple, для проверки цифровой подписи для приложения. Он состоит из private/public пары ключей, и файла *.mobileprovision, который должен быть установлен на целевом устройстве для отладки.
Есть два вида provisioning профилей: Development and Distribution. Development - только для отладки приложений на устройстве, а Distribution используется для распространения приложения в AppStore или для, так называемого, Ah-hoc распределения.
Профиль Developement включает в себя список устройств, которые разрешается использовать с этим профилем.
Оба типа профилей хранят в себе список список разработчиков, которые могут подписать это приложение. (с) Stackoverflow

Android 4.0+

  • Settings > Developer options > поставить галку “USB Debugging” (“Allow mock location” опционально - может пригодиться для тестирования в будущем)
  • Settings > Security > поставить галку “Unknown sources”

Android <= 4.0

  • Settings > Applications > поставить галку “USB Debugging”
  • Settings>Applications>Development> и поставить все галки (“Allow mock location” опционально - может пригодиться для тестирования в будущем)



Установка


iOS

1. Компиляция и установка через xCode:
  • добавляем/открываем Ваш проект 
  • выбираем нужную схему (AppStore, Debug, etc)
  • выбираем подключенный девайс и жмем Run 
2. Через Organizer в XCode:
  • запускаем Organizer (CMD+Shift+2)
  • выбираем вкладку Devices
  • выбираем подключенный девайс (зеленая или желтая точка в зависимости залочено ли Ваше устройство)
  • выбираем подпункт Applications ниже зеленой точки Вашего девайса
  • перетаскиваем приложение или ждем + и выбираем Ваше приложение
3. Через iTunes:
  • дабл-клик на *.ipa - приложение добавляется в iTunes
  • подключаем девайс и выбираем его в iTunes
  • переключаемся на вкладку Apps и помечаем приложение
  • жмем Sync
  • собираем сам AppInstaller из исходников
  • подкладываем билд в папку AppInstaller
  • запускаем его
  • жмем Go
  • с устройства переходим по указанной ссылке - установка пошла
Достаточно удобный способ - можно каждый раз из CI сохранять билд в определенную папку :)
5. Через сервисы бета-тестирования приложений (TestFlight, HockeyApp, etc)
Обычно эти сервисы устанавливают свое приложение на Ваше устройство и уже внутри него можно управлять нашим тестируемым приложением: установить, обновить, удалить :)

6. Другие сервисы бета-тестирования
Тот же принцип, что и в TestFlight - ставим приложение на устройство и уже через него скачивать наше приложение для тестирования

7. Через itms-services:// ссылку на *.plist файл. Обычно сохраняют в виде HTML, которую скачивают на устройство или отправляют любым другим способом.
Формат ссылки: itms-services://?action=download-manifest&url=https://example.com/My%2520App.plist
Более продвинутый способ формирования ссылок и HTML есть здесь.
У нас ссылка на данную HTML добавлена на специальный адрес: http://our_ci/lastbuild - в зависимости от девайса будет ставиться последний iOS или Android билд.

8. iPhone Configuration Utility (MacWin) - не работает в MacOS Mavericks:
  • в левом верхнем углу нажимаем "Add" либо же переходим на вкладку Applications и перетаскиваем приложение 
  • идем в детали подключенного устройства>Applications 
  • кликаем install на добавленном приложении
Если кто-то не в курсе с помощью iPhone Configuration Utility можно устанавливать как *.ipa так и *.app

Android

1. Через IDE:
  • импортируем исходники в IDE
  • правый клик на корне проекта (корневой папке) Run As>Android application
  • выбираем необходимок устройство или эмулятор в появившемся окне
2. Через флэш-накопитель:
  • подключаем девайс как внешний накопитель
  • копируем *.apk приложение во флэш-память
  • отключаем режим внешнего накопителя
  • далее с помощью файлового менеджера находим файл и тапаем на нем
NOTE: также можно воспользоваться AppInstaller, который сканирует внешнюю флэш-память и выводит список всех приложений, доступных для установки.

3. Через USB-подключение:
  • Включаем  возможность инсталлировать приложение не из PlayStore  Settings>Applications>помечаем галочкой Unknown sources
  • Включаем отладку по USB: Settings>Applications>Development>помечаем USB debugging
  • Добавляем  папки \tools и \platform-tools в PATH: Windows, Mac, Linux
  • Запускаем консоль и вводим 
adb install путь_к_apk
Если у Вас подключено несколько устройств (или эмуляторов), то необходимо выбрать необходимое устройство при помощи ключа -s:
adb devices - выводит список всех подключенных устройств
adb -s device_serial_number install путь_к_apk
Также, если у Вас запущен 1 эмулятор и 1 реальный девайс, Вы можете возпользоваться ключами -e и -d вместо ключа -s:
adb -e device_serial_number install путь_к_apk - установит приложение только на эмулятор, если у Вас есть еще подключенный девайс
adb -в device_serial_number install путь_к_apk  - установит приложение только на девайс, если у Вас есть еще запущенный эмулятор               
4. Через Wi-Fi:
NOTE: ваш компьютер и девайс должны быть в одной подсети, иначе через Wi-Fi подключиться не получится


А) Если девайс не подключен по USB
adb connect ip_вашего_устройства
adb install  путь_к_apk
Б) Если девайс подключен по USB, но вы все равно хотите подключиться через Wi-Fi:
  • переключаем adb с usb на wi-fi (если не указать порт, то будет использоваться дефолтный 5555)
adb tcpip 4455
  • подключаемся к девайсу
adb connect IP_девайса:4455
  • инсталлируем приложение
adb install путь_к_apk
  • после окончания инсталляции/отладки отключаем от adb по wi-fi  и переключаемся обратно в режим usb
adb disconnect 192.168.1.39:4455
adb usb

5. Через ADB push (нужны права root):
adb remount
adb push путь_к_apk /system/app 

6. Через AirDroid
  • устанавливаем и регистрируемся
  • подключаемся к девайсу локально (не через web.airdroid.com)
  • устанавливаем приложение через Toolbox>App в веб-интерфейсе
update: он недавно обновился и теперь в нем драконовские ограничения:
  • чтобы закачивать файл более 10Мб надо быть в одной подсети
  • в месяц на девайс передать можно не более 100Мб данных
7. SMS или HTML со ссылкой на скачивание
Внутри СМС или HTML может быть обычная сокращенная ссылка на *.apk У нас ссылка на данную HTML добавлена на специальный адрес: http://our_ci/lastbuild - в зависимости от девайса будет ставиться последний iOS или Android билд.


8. Через сервисы бета-тестирования приложений (TestFlight, HockeyApp, etc)
Обычно эти сервисы устанавливают свое приложение на Ваше устройство и уже внутри него можно управлять нашим тестируемым приложением: установить, обновить, удалить :)

Blackberry 

1. С помощью Javaloader:
Переходим в папку проекта и выполняем:

javaloader -u load *.cod 
С помощью этого способа можно загрузить приложение как на реальный девайс, так и на симулятор. Но на симуляторе необходимо сэмулировать USB-подключение в меню симулятора: Simulate>USB Cable connected

NOTE: лушче использовать маску *.cod тaк как проект часто состоит из более, чем одного .cod файла

2. Через браузер с использованием внутреннего веб-сервера:
  • заходим на сервер через браузер устройства
  • выбираем *.jad файл
  • необходимые файлы скачаются и установятся сами
3. C помощью IDE:
  • JDE:  

a) Симулятор: выбираем в меню Build>Build and Run
б) Девайс: насколько я знаю, только с помощью javaloader

  • Eclipse (если установлен BB plugin): 
a) Симулятор: правый клик на корне проекта (корневой папке) Run As>Blackberry Simulator
б) Девайс:  правый клик на корне проекта (корневой папке) Blackberry>Load project(s) on device

NOTE: также на симулятор можно загрузить приложение с помощью меню: File>Load Blackberry Application or Theme