Przewodnik dewelopera - BlackBerry PlayBook OS 2.1 Tomasz Ogrodnik III rok Informatyka WSKSiM w Toruniu 1
Spis treści 1.Wprowadzenie...3 2.O produkcie BlackBerry PlayBook...3 3.Wybór środowiska Native SDK 2.1...4 4.Klucze do podpisu aplikacji...4 5.Instalacja i konfiguracja SDK 2.1...11 5.1. Windows...12 1. Instalacja...12 2. Wybór sposobu testowania aplikacji...12 a) Testowanie na fizycznym urządzeniu - kabel USB...12 b) Testowanie na symulatorze...15 5.2. Linux Ubuntu 12.04.1 LTS...35 1. Instalacja środowiska SDK...35 2. Wybór sposobu testowania aplikacji...35 a) Testowanie na fizycznym urządzeniu - kabel USB...35 b) Testowanie na symulatorze...40 6.Repozytorium informacji...41 2
1. Wprowadzenie Dokument ten opisuje proces wyboru a następnie instalacji środowiska developerskiego Native SDK 2.1 dla tabletu BlackBerry PlayBook pracującego pod systemem operacyjnym BlackBerry PlayBook OS 2.1. Początkowo w czytelnik zostanie zaznajomiony z urządzeniem PlayBook a w kolejnych rozdziałach zostanie przeprowadzony przez dokładną instrukcję instalacji i konfiguracji środowiska na systemie operacyjnym Windows oraz Linux a także dowie się o kilku przydatnych źródłach informacji dotyczących wyżej wymienionego tabletu firmy BlackBerry. 2. O produkcie BlackBerry PlayBook BlackBerry PlayBook jest to mobilny tablet z wbudowanym modułem Wi-Fi, o niewielkich wymiarach i średniej wadze, który posiada wielodotykowy ekran LCD o przekątnej 7" oraz dwie kamery umożliwiające nagrywanie wideo w rozdzielczości 1080p w jakości HD to tylko niektóre parametry PlayBooka, wpływające na komfort pracy i rozrywki. Dzięki temu idealnie sprawdza się w podróży, podczas spędzania wolnego czasu, czy w sytuacjach gdzie potrzebujemy szybkiego dostępu do internetu lub po prostu chcemy wygodnie obejżeć film czy poczytać. Specyfikacja: Tablet Premiera: Ekran: Procesor: Pamięć: System operacyjny: Kamera: Bateria: zność: Porty: Rozmiar: Waga: Dodatki: BlackBerry Playbook Sprzedaż w USA: 19.04.2011 r 7-calowy wyświetlacz o rozdzielczości 1024 x 600 pikseli, multitouch Dwurdzeniowy procesor Cortex A9 o taktowaniu 1Ghz Grafika: PowerVR SGX540 16, 32, 64 GB wbudowanej pamięci SSD 1 GB RAM BlackBerry Tablet OS ( kompatybilny z aplikacjami Androida ) Przód 3Mpix Tył: 5Mpix 5300 mah do 7h pracy Wi-Fi 802.11 a/b/g/n oraz Bluetooth 2.1 + EDR Czytnik kart ( Micro SD ) micro HDMI microusb port słuchawkowy jack 3,5mm kieszeń na kartę SIM ( Wersja 3G) Wysokość: 194mm Szerokość: 130mm Grubość: 10mm 425 gram żyroskop akcelerometr magnetometr głośniki stereo mikrofon GPS Źródło : http://tablety.org.pl System operacyjny jaki zastosowano w tablecie firmy Research Motion (RIM), to BlackBerry OS 2.1, który został zbudowany na podstawie systemu QNX Neutrin. 3
3. Wybór środowiska Native SDK 2.1 Ze względu na zainstalowany obecnie system operacyjny jakim jest BalckBerry PlayBook 2.1, należy wybrać przygotowane specjalnie pod ten system środowisko programistyczne, czyli Native SDK 2.1. które możemy pobrać ze strony internetowej producenta. Umożliwi nam ono pisanie drobnych a także wydajnych i rozbudowanych aplikacji w języku C/C++ na platformę BlackBerry PlayBook. Jeżeli nie posiadamy urządzenia PlayBook możemy również testować nasze aplikacje używając do tego celu emulatora, którego należy zainstalować na komputerze wraz z środowiskiem SDK oraz programem VMware Player. Uwaga! Do prawidłowej pracy z symulatorem wymagane jest, aby procesor komputera, na którym mamy zamiar uruchomić wirtualną maszynę, wspierał wirtualizację. W przeciwnym wypadku mogą wystąpić problemy z instalacją oprogramowania VMware, utrudnione jego użytkowanie lub brak możliwości jego instalacji. Do prawidłowej współpracy między oprogramowaniem a urządzeniem wymagane są klucze (w przypadku uruchamiania aplikacji w symulatorze nie są one wymagane) służące do podpisywania stworzonych przez nas aplikacji. Klucze są darmowe i aby je uzyskać, należy wysłać zgłoszenie poprzez formularz dostępny na stronie. Jeśli zechcemy rozpowszechniać naszą aplikację w oficjalnym kanale dystrybucji - AppWorld, musimy zarejestrować się jako AppWorld Vendor. Warto zaznaczyć, że operacja ta jest darmowa. 4. Klucze do podpisu aplikacji. Jak już wspomniałem wcześniej w przypadku posiadania urządzenia PlayBook i chęci testowania na nim aplikacji napisanych za pośrednictwem środowiska programistycznego SDK, należy wprowadzić do niego specjalne klucze. Klucze są darmowe i aby je uzyskać należy wysłać zgłoszenie wypełniając formularz na stronie. Podajemy wszystkie wymagane informacje, w sekcji Registration Pin podajemy 6-8 cyfrowy PIN (jest to pin dla plików.csj), który chroni przed podpisywaniem aplikacji przez nieuprawnione do tego osoby. 4
Po wysłaniu i zaakceptowaniu zgłoszenia, na podanego maila w formularzu otrzymamy potwierdzenie z informacją, że do dwóch godzin (w moim przypadku zajęło to godzinę) powinniśmy otrzymać klucze (screen 1). Będą to dwa pliki z rozszerzeniem.csj dostarczone jako załącznik, każdy w oddzielnym mailu (screen 2). A RIM Development Key (RDK), który używamy do podpisu aplikacji i publikowania jej w BlackBerry App World. 5
A debug token (PBDT) plik, którego używamy do generacji Debug Token'a 6
Ze względów estetycznych i ekonomicznych w tym rozdziale umieszczę również opis rejestracji kluczy. Jeżeli nie posiadacie jeszcze zainstalowanego środowiska Native SDK for BlackBerry Tablet OS to wróćcie do tego rozdziału w przyszłości, po jego instalacji. Rejestracji kluczy można dokonać tak jak opisuje to poniższa instrukcja lub podczas wykonywania kolejnych kroków w kreatorze BlackBerry Tablet OS Deployment Setup Wizard co również zaprezentowałem w kolejnym rozdziale. Po otrzymaniu kluczy, zapisujemy je w bezpiecznym miejscu i uruchamiamy środowisko Native SDK. Z górnego menu wybieramy Window->Preferences tak jak zaprezentowano to na poniższym screenie. Następnie wybrać z bocznego menu BlackBerryTablet OS Signing i kliknąć w przycisk Register W oknie, które nam się pojawi podajemy ścieżki do plików.csj, następnie ustalamy hasło CSJ a także CSK, które w dalszej części konfiguracji będzie potrzebne nam do wygenerowania debug token'a. 7
Po poprawnym zarejestrowaniu kluczy powinniśmy otrzymać mniej więcej taki widok Na naszą skrzynkę mailową powinny przyjść także dwa e-maile, potwierdzające rejestrację każdego z kluczy. Keystore używany jest w przypadku, gdy chcemy dostać się do ustawień podpisywania aplikacji. Pamiętaj, aby zabezpieczyć swoje klucze rejestracyjne, mogą Ci się jeszcze w przyszłości przydać do ponownej konfiguracji środowiska. Zaraz po rejestracji zrób ich back-up. Jeżeli tego nie zrobisz a będziesz chciał w przyszłości na nowo skonfigurować swoje środowisko możesz otrzymać taki komunikat: Error registering long term key Error: Error: Unable to register client '1950194' because there are no more registration attempts. If you have already registered with this server, then you should restore your signing keys from backup. If you don't have a backup of the keys, then you can order a new set of keys at www.blackberry.com/go/codesigning 8
Spowodowane jest to tym, że rejestracja kluczy może się odbyć tylko jeden raz. Jeżeli będziemy chcieli ich użyć ponownie, powinniśmy zaraz po pierwszej udanej instalacji zrobić ich back-up i w przyszłości w razie potrzeby załadować je do środowiska SDK. Powykonaniu back-up'u klucze mogą być wykorzystywane równocześnie na wielu komputerach. Wykonanie back-up'u kluczy.csj polega na: - zabezpieczeniu plików: author.p12, barsigner.csk oraz barsigner.db. Wszystkie pliki dostępne są w jednej ścieżce, w zależności od używanego systemu. Ścieżki: - Windows XP: %HOMEPATH%\Local Settings\Application Data\Research In Motion - Windows Vista i Windows 7: %HOMEPATH%\AppData\Local\Research In Motion - Mac OS: ~/Library/Research In Motion - UNIX i Linux: ~/.rim W celu wykonania beckup'u można skopiować je ręcznie lub będąc w środowisku SDK skorzystać z wbudowanego narzędzia - przygotowanego specjalnie do tego celu, które utworzy nam archiwum.zip z wyżej wymienionymi plikami. W takim w przypadku należy z górnego menu wybrać Window->Preferences->BleckBerry->Signing a następnie w sekcji Backup and Restore kliknąć w Backup... Kolejną czynnością jest wygenerowanie DebugToken'a. Debug tokeny są przeznaczone dla urządzeń i nie są wymagane przy testowaniu aplikacji za pomocą symulatora. Debug token jest ważny przez 30 dni. Po tym czasie wygasa i trzeba go wygenerować ponownie. Jeżeli nie posiadamy jeszcze DebugTokena, to podczas próby wgrywania aplikacji na tablet otrzymamy następujący komunikat: 9
Generowanie debug token'a odbywa się w tym samym miejscu co podpisywanie kluczy Preferences->BlackBerry->Signing. W miejscu Debug Tokens wybieramy Create... a następnie podajemy hasło CSK, które utworzyliśmy podczas rejestracji kluczy.csj. Po prawidłowym wygenerowaniu i wgraniu debug tokena na tablet, przechodząc do ustawień tabletu, wybierając Security ->Developement Mode powinniśmy ujrzeć podobne informacje jak na poniższym sreen'ie 10
Natomiast w środowisku SDK w miejscu tworzenia debug tokena dodana zostanie dodana ścieżka wskazująca jego plik 5. Instalacja i konfiguracja SDK 2.1 Po pobraniu środowiska SDK ze strony internetowej podanej w rozdziale trzecim, przyszedł czas na 11
jego instalację i konfigurację. 5.1. Windows 1. Instalacja Uruchamiamy pobrany plik o podobnej nazwie do tej: nstaller-bbndk-bb10_0_09-win32-nnnnnnnnnnnnnnn-nnnnnnnnnnnn.exe i postępujemy zgodnie z instrukcją instalacji. 2. Wybór sposobu testowania aplikacji Testowanie aplikacji może odbywać się na fizycznym urządzeniu podłączonym do komputera za pomocą kabla USB lub Wi-Fi; lub na symulatorze za pośrednictwem wirtualnej maszyny zainstalowanej na komputerze. a) Testowanie na fizycznym urządzeniu - kabel USB W Windows'ie zwykle nie występują problemy związane z podłączaniem urządzeń BlackBerry. Wystarczy podłączyć PlayBook'a do komputera za pomocą kabla USB a po chwili Windows powinien automatycznie wykryć dołączone nowe urządzenie i doinstalować potrzebne sterowniki. 12
Po poprawnej instalacji urządzenia w systemie, uruchamiamy środowisko SDK Z górnego menu wybieramy 13
Zaznaczamy Device connected using USB i klikamy w auto Discover Devices Powinniśmy otrzymać adres IP wykrytego urządzenia (PlayBook'a) 14
b) Testowanie na symulatorze Jeżeli nie posiadamy fizycznego urządzenia, nie musimy się przejmować, że nie będziemy mogli przetestować naszych aplikacji. W takiej sytuacji możemy skorzystać z symulatora, którego najpierw pobieramy ze strony a następnie instalujemy. Po wykonaniu tych czynności przechodzimy do kolejnej strony, z której pobieramy program VMware Player program za pomocą, którego uruchomimy wirtualną maszynę (symulator). Gdy już to zrobimy przechodzimy do jego instalacji i konfiguracji. Uruchamiamy VMware Player'a i wybieramy Open Virtual Machine 15
Przechodzimy do miejsca, w którym zainstalowaliśmy symulator Playbook'a i wybieramy plik z rozszerzeniem.vmx System powinien się zacząć wczytywać 16
Po około dwóch minutach powinniśmy ujżeć jego pulpit. 17
Sprawdzamy adres IP PlayBook'a (symulatora) Jak widzimy z powyższego screen'a adres IP, który otrzymał mój PlayBook to 192.168.80.128. Adres ten, wykorzystamy później przy konfiguracji środowiska SDK. 18
Jeżeli adres IP nie zostanie przypisany wirtualnemu urządzeniu (np. gdy otrzymamy adres 0.0.0.0), sprawdzić ustawienia sieci wychodząc z wirtualnej maszyny wciskając ctrl+alt, kliknąć prawym przyciskiem myszki na ikonkę dwóch komputerów znajdującą się w prawym górnym rogu symulatora, wybrać settings i sprawdzić czy w zakładce Network Adapter jest zaznaczona opcja NAT. Następnie należy zrestartować wirtualną maszynę wybierając z górnego menu Player>Power->Reset. Po restarcie powinniśmy otrzymać prawidłowy adres IP przypisany do symulatora. Jeżeli tak się nie stało należy sprawdzić czy firewall czegoś nie blokuje. W zakładce About->Network symulatora PlayBook'a prawdopodobnie nie ujrzymy interfejsu. Nie należy się jednak tym przejmować, ponieważ nie ma to wpływu na jego poprawne działanie. Teraz uruchamiamy środowisko SDK. 19
Podajemy nazwę i ścieżkę dla katalogu, w którym bedą tworzone nasze projekty W celu zilustrowania konfiguracji SDK dla uruchamiania aplikacji na symulatorze, posłużę się gotowym przykładem aplikacji Falling Blocks dostępnej w środowisku. W tym celu po uruchomieniu środowiska z głównego okna wybieramy Samples 20
Następnie wybieramy NDK Sample Project 21
Zaznaczamy Falling Block Project Zatwierdzamy przyciskiem Finish Z górnego menu wybieramy Window->Preferences 22
W pozycji BlackBerry Tablet OS klikamy w BlackBerry Tablet OS Deployment Setup Wizard Zaznaczamy Simulator i klikamy w Auto Discover Devices Czasami opcja Auto Discover Devices nie działa prawidłowo i adres IP, który otrzymał symulator trzeba wprowadzić ręcznie- tak było w moim przypadku. W takim przypadku należy przełączyć się na symulator i kliknąć na ikonkę znajdującą się w prawym górnym rogu jego ekranu tak jak to ilustruje screen. 23
Kolejna zakładka kreatora to Signing Registration. Ze względu, że nasze aplikacje będą testowane na symulatorze nie wymagane jest posiadanie kluczy, a więc zaznaczamy ostatnią opcję tak jak na screen'ie przechodzimy dalej klikając w Next - w tym i kolejnym kroku a na końcu zatwierdzamy zmiany przyciskiem Finish. 24
Teraz przechodzimy do głównego okna roboczego kilikając w Workbench. Naszym oczom ukaże się obszar roboczy podzielony na trzy części. W lewym okienku naszego projektu klikamy raz prawym przyciskiem myszy na projekt aplikacji i wybieramy opcję Properties 25
Przemieszczając się po lewym, bocznym menu przechodzimy do C/C++ Build i klikamy w Manage Configuration..., w kolumnie pierwszej Configuration zaznaczamy Simulator-Debug i klikamy na przycisk Set Active Po ponownym wejściu w Manage Configurations, status Active powinien znajdować się przy Simulator-Debug Po kliknięciu w OK, w miejscu Configuration wybieramy z listy rozwijanej Simulator-Debug [Active] zamiast domyślnego ustawienia, jakim jest Device-Debug 26
Następnie przechodzimy do C/C++ General->Indexer i w miejscu Build configuration for the indexer wybieramy z rozwijanej listy Simulator-Debug 27
Teraz przemieszczamy się jeszcze niżej wewnątrz lewego menu - aż do etykiety Run/Debug Settings i klikamy w New 28
W okienku, które się pojawi wybieramy BlackBerry Tablet OS C/C++ Appllication i klikamy OK Następnie naszym oczom ukaże się kolejne okno, w którym w zakładce Main przy pozycji Build configuration z listy rozwijanej wybieramy Simulator-Debug i klikamy w OK 29
W efekcie powrócimy do poprzedniego okna gdzie zatwierdzamy wszystkie zmiany klikając w OK. 30
Kolejny etap to kompilacja. W lewym skrajnym oknie klikamy prawym przyciskiem myszy na projekt aplikacji i wybieramy z menu Build Project Po pomyślnej kompilacji, obrazek, który znajduje się na lewym okienku, przy nazwie naszego projektu - nie powinien mieć dodatkowych oznaczeń (np. wykrzyknik, czerwone przekreślenie) 31
Wysyłamy i uruchamiamy aplikację na symulatorze klikając prawym przyciskiem myszy na nasz projekt, przemieszczamy się kursorem do pozycji Run As i klikamy w BlackBerry Tablet OSC/C++ Aplication. 32
Jeżeli otrzymamy następujący błąd podczas wygrywania aplikacji na tablet (komenda Run), należy jeszcze raz ponowić próbę wgrywania. Po udanym wgraniu aplikacji jest ona automatycznie uruchamiana na symulatorze PlayBook'a czego efekt widzimy na dwóch poniższych screen'ach 33
34
5.2. Linux Ubuntu 12.04.1 LTS (Dystrybucja Linux'a użyta w tym opracowaniu to Ubuntu 12.04.1 LTS. Konfiguracja w innych dystrybucjach wygląda podobnie, różnić się jedynie mogą niektóre polecenia i sposób dostępu do niektórych opcji). Do poprawnej pracy z środowiskiem oraz symulatorem wymagana jest Java. Jeżeli więc występują problemy z instalacją lub uruchomieniem tych aplikacji z powodu Java'y, należy pobrać i zainstalować jej aktualną wersję. Jeden ze sposobów instalacji Java'y w systemie Linux: Pobieramy Java'e, instalaujemy ją w wybranym przez siebie katalogu (w moim przypadku jest to /usr/share), przechodzimy poleceniem cd do /usr/bin i podlinkowujemy wirtualną maszynę Java'y do obecnego katalogu. Sprawdzamy czy operacja się udała, wydając w terminalu polecenie ls -l wynik użycia polecenia powinien być identyczny jak na poniższym screen'nie 1. Instalacja środowiska SDK Otwieramy terminal, przechodzimy do katalogu, w którym został zapisany pobrany plik i wywołujemy polecenie: 2. Wybór sposobu testowania aplikacji Testowanie aplikacji może odbywać się na fizycznym urządzeniu podłączonym do komputera za pomocą kabla USB lub Wi-Fi; lub na symulatorze za pośrednictwem wirtualnej maszyny zainstalowanej na komputerze. a) Testowanie na fizycznym urządzeniu - kabel USB. Czasami zdarza się, że PlayBook po podłączeniu do komputera za pomocą kabla USB, nie potrafi automatycznie skonfigurować połączenia. Często objawia się to brakiem reakcji po stronie komputera z zainstalowanym system operacyjnym Linux. Dlatego w takiej sytuacji niezbędne jest dokonanie kilku modyfikacji. Najpierw należy w PlayBook'u przejść do jego ustawień i wybrać opcję Storage&Sharing, 35
w miejscu USB Conncetion z rozwijanej listy wskazać na Connect to Windows (jeżeli chcemy mieć możliwość przeglądania na komputerze plików z tabletu - dodatkowo w Playbook'u należy włączyć opcję File Sharing zmieniając OFF na ON). Następnie przejść do zakładki Security i wybrać Development Mode 36
Ustawić Use Development Mode na ON oraz przypisać adres IP jak na screenie. W celu upewnienia się, że ta część konfiguracji przebiegła pomyślnie należy udać się do zakładki About w głównym menu ustawień konfiguracyjnych tabletu, w miejscu View information about your tablet wybrać z listy Network. Po wykonaniu tych czynności ustawienia USB powinny wyglądać tak jak przedstawia to poniższy screen. Kolejnym krokiem jest sprawdzenie, czy adres IP na naszym komputerze został poprawnie 37
przypisany do interfejsu usb. W linii poleceń wpisać: Następnie odszukujemy linię z usb i sprawdzamy, czy IP które mamy przypisane jest w tej samej sieci co adres IP PlayBook'a. W moim przypadku konieczne było ręczne ustawienie adresu na komputerze. Jeżeli posiadamy błędnie ustawione adresy lub brak adresu IP na komputerze - tak jak to było w moim przypadku należy ustawić je ręcznie. W tym celu wywołujemy z uprawnieniami root'a komendę ifconfig z odpowiednimi parametrami: Następnie sprawdzamy ponownie ustawienia interfejsu usb poleceniem ifconfig -a W wyniku wywołania polecenia powinniśmy otrzymać następujące ustawienia: W celu stestowania połączenia pomiędzy urządzeniami możemy skorzystać z polecenia ping Jeżeli wszystko poszło ok, powinniśmy otrzymać odpowiedź ze strony PlayBook'a Jeśli wcześniej zaznaczyliśmy w tablecie opcję file sharing możemy też spróbować się do niego podłączyć przeglądając jego zawartość. 38
W tym celu klikamy raz lewym przyciskiem myszy na dowolny plik znajdujący się na komputerze i z górnego menu wybieramy File ->Connect to Server... Podajemy adres IP PlayBooka'a: 168.254.0.1 i zatwierdzamy killkając w Connect Łączenie się z tabletem może chwilę potrwać. W efekcie końcowym powinniśmy otrzymać dostęp do danych udostępnionych na tablecie: 39
Jeżeli prawidłowo skonfigurowaliśmy urządzenia i udało nam się nawiązać między nimi połączenie, przechodzimy do kolejnego etapu jakim jest konfiguracja środowiska, która umożliwi nam testowanie aplikacji na urządzeniu BalckBerry PlayBook. Przechodzimy do katalogu, w którym zainstalowaliśmy SDK i z uprawnieniami roota uruchamiamy środowisko: W przypadku Linux'a proces konfiguracji wygląda podobnie, jak dla systemu operacyjnego Windows. Można więc spokojnie skorzystać z opisu zamieszczonego podrozdziale 5.1. b) Testowanie na symulatorze. Testowanie odbywa się identycznie jak w przypadku Windows'a z drobnymi różnicami. Instalujemy symulator wywołując poniższą komendę a następnie postępujemy zgodnie z instrukcjami zamieszczonymi w kreatorze instalacji. Kolejnym krokiem jest instalacja VMware Player'a, którego uruchamiamy w konsoli z poziomu root'a (komenda: sudo vmplayer) Dalszy proces konfiguracji jest identyczny jak na Windows'ie. Opis znajduje się w podrozdziale 5.1 Windwos b) Testowanie na symulatorze -> Po jej wykonaniu uruchamiamy środowisko SDK komendą 40
Następnie postępujemy według instrukcji zamieszczonej w podrozdziale 5. 1 Windows-> b) Testowanie na symulatorze -> 2. Uruchamianie środowiska SDK Na lewej części ekranu widoczna jest zawartość naszego projektu. W folderze src przechowywane są pliki źródłowe aplikacji z rozszerzeniem Java. Folder res przechowuje zasoby aplikacji takie jak ikony czy dźwięki. Plik BlackBerry_App_Descriptor.xml zawiera dane opisujące naszą aplikacje takie jak: tytuł, wersja, ikona oraz wiele innych elementów. 6. Repozytorium informacji Informacje o systemie operacyjnym PlayBook OS 2.1. http://worldwide.blackberry.com/pl/playbook-tablet/playbook-os2.jsp Podręcznik użytkownika: http://docs.blackberry.com/en/smartphone_users/deliverables/31044/index.jsp? name=user+guide++blackberry+playbook+tablet2.0&language=polish&usertype=1&category=blackberry+playbo ok+tablet&subcategory= Formularz do kluczy : https://appworld.blackberry.com/isvportal/vendor/reg_terms.do 41