====== Genymotion ======
O versiune gratuită pentru emulatorul Genymotion poate fi descărcată de pe [[http://www.genymotion.com|]] după ce se creează un cont.
Alternativ, executabilele pot fi descărcate de la următoarele locații:
* Linux
student@pdsd2015:~$ cd /opt
student@pdsd2015:/opt$ sudo wgethttp://pdsd2015.andreirosucojocaru.ro/resources/genymotion-2.3.1_.bin
unde ''platforma'' are valoarea
* ''x86'' - arhitecturi pe 32 de biți
* ''x64'' - arhitecturi pe 64 de biți
* ''x64_debian'' - distribuția Debian pe 64 de biți
* Windows
* [[http://pdsd2015.andreirosucojocaru.ro/resources/genymotion-2.3.1.exe|executabil fără VirtualBox]]
* [[http://pdsd2015.andreirosucojocaru.ro/resources/genymotion-2.3.1-vbox.exe|executabil cu VirtualBox]]
Emulatorul Genymotion are nevoie de o mașină virtuală în contextul căreia să ruleze.
* Linux\\
student@pdsd2015:~$ sudo apt-get install openbox virtualbox
* Windows - se poate folosi executabilul integrat cu VirtualBox sau acesta poate fi instalat separat de la [[https://www.virtualbox.org/wiki/Downloads|]].
Se instalează emulatorul Genymotion pornind de la executabilele descărcate.
* Linux
student@pdsd2015:/opt$ sudo chmod +x genymotion-2.3.1_.bin
student@pdsd2015:/opt$ sudo ./genymotion-2.3.1_.bin
student@pdsd2015:/opt$ sudo rm -f genymotion-2.3.1_.bin
* Windows - se rulează fișierul ''.exe'' în cauză
===== Plugin pentru Medii de Execuție Integrate (IDE) =====
==== Eclipse ====
* Se pornește Eclipse Luna SR1a (4.4.1):
* Linux ''/opt/eclipse/eclipse''
* Windows - se apelează executabilul ''eclipse.exe'' din directorul în care s-a realizat instalarea
* Se instalează plugin-ul Genymotion pentru Eclipse Luna SR1a
* //Help// → //Install new Software//
* în secțiunea //Work with// se completează locația [[http://plugins.genymotion.com/eclipse/|]]\\
{{ :laboratoare:laborator01:eclipsegenymotion01.png?nolink&600 }}
* se apasă butonul //Add...// și în câmpul //Name// se specifică o denumire sugestivă (spre exemplu, //Genymotion Plugin//); se apasă butonul //OK//\\
{{ :laboratoare:laborator01:eclipsegenymotion02.png?nolink&600 }}
* se selectează //Genymobile//; se apasă butonul //Next//\\
{{ :laboratoare:laborator01:eclipsegenymotion03.png?nolink&600 }}
* se vor afișa detaliile pentru instalare; se apasă butonul //Next//\\
{{ :laboratoare:laborator01:eclipsegenymotion04.png?nolink&600 }}
* se acceptă termenii și condițiile pentru licențierea conținutului; se apasă butonul //Finish//\\
{{ :laboratoare:laborator01:eclipsegenymotion05.png?nolink&600 }}
* se confirmă instalarea de programe care au conținut nesemnat\\
{{ :laboratoare:laborator01:eclipsegenymotion06.png?nolink }}
* se restartează Eclipse Luna SR1a (4.4.1)\\
{{ :laboratoare:laborator01:eclipsegenymotion07.png?nolink }}
* se specifică locația la care este instalat emulatorul Genymotion //Window// → //Preferences// → //Genymobile// → //Genymotion//, completându-se câmpul //Genymotion directory//\\
{{ :laboratoare:laborator01:eclipsegenymotion09.png?nolink&600 }}\\
{{ :laboratoare:laborator01:eclipsegenymotion10.png?nolink&600 }}
* fereastra de gestiune a dispozitivelor mobile virtuale Genymotion se deschide folosind pictograma corespunzătoare din Toolbar sau apăsând ''Ctrl+6''.\\
{{ :laboratoare:laborator01:eclipsegenymotion08.png?nolink&800 }}
==== Android Studio ====
* Se pornește Android Studio 1.0.1:
* Linux ''sudo /opt/android-studio/bin/studio.sh''
* Windows - se apelează executabilul ''studio.exe'' din directorul în care s-a realizat instalarea
* Se instalează plugin-ul Genymotion pentru Android Studio
* //File// → //Settings//\\
{{ :laboratoare:laborator01:genymotionandroidstudio01.png?nolink }}
* în fereastra //Settings//, în cadrul secțiunii //IDE Settings// se accesează opțiunea //Plugins//; se apasă butonul //Browse repositories...//\\
{{ :laboratoare:laborator01:genymotionandroidstudio02.png?nolink&600 }}
* în fereastra //Browse Repositories...// se selectează intrarea //Genymotion// (aceasta poate fi și căutată, astfel încât identificarea să se realizeze mai facil); se apasă butonul //Install plugin//\\
{{ :laboratoare:laborator01:genymotionandroidstudio03.png?nolink&600 }}
* se confirmă descărcarea și instalarea plugin-ului Genymotion\\
{{ :laboratoare:laborator01:genymotionandroidstudio04.png?nolink&600 }}
* încărcarea propriu-zisă a plugin-ului Genymotion va fi realizată după repornirea mediului integrat de dezvoltare Android Studio\\
{{ :laboratoare:laborator01:genymotionandroidstudio05.png?nolink&600 }}\\
{{ :laboratoare:laborator01:genymotionandroidstudio06.png?nolink&600 }}
* accesarea plugin-ului Genymotion poate fi realizată din bara de unele, cu condiția ca aceasta să fie vizibilă (conform configurării din //View// → //Toolbar//)\\
{{ :laboratoare:laborator01:genymotionandroidstudio07.png?nolink }}\\
{{ :laboratoare:laborator01:genymotionandroidstudio08.png?nolink&800 }}
===== Configurare Dispozitiv Virtual =====
Se lansează în execuție Genymotion.
* Linux - ''/opt/genymotion/genymotion''
În situația în care este generată o eroare legată de versiunea bibliotecii ''glibc''
student@pdsd2015:~$ sudo /opt/genymotion/genymotion
/opt/genymotion/genymotion: /lib/i386-linux-gnu/i686/cmov/libc.so.6: version `GLIBC_2.15' not found (required by /opt/genymotion/libQtGui.so.4)
/opt/genymotion/genymotion: /lib/i386-linux-gnu/i686/cmov/libc.so.6: version `GLIBC_2.15' not found (required by /opt/genymotion/libQtNetwork.so.4)
/opt/genymotion/genymotion: /lib/i386-linux-gnu/i686/cmov/libc.so.6: version `GLIBC_2.15' not found (required by /opt/genymotion/libQtCore.so.4)
este necesar să se instaleze o versiune mai recentă (experimentală).
Se modifică fișierul care conține lista locațiilor de la care pot fi descărcate pachetele (''/etc/apt/sources.list''), specificându-se o nouă sursă:
student@pdsd2015:~$ sudo gedit /etc/apt/sources.list
# ...
deb http://ftp.debian.org/debian sid main
# ...
Se actualizează baza de date cu locațiile de la care pot fi descărcate pachetele.
student@pdsd2015:~$ sudo apt-get update
Se instalează pachetul ''eglibc''.
student@pdsd2015:~$ sudo apt-get -t sid install libc6 libc6-dev libc6-dbg
(pentru platformele pe 64 de biți se va instala pachetul ''libc6-amd64'').
În timpul instalării, unele servicii afectate vor fi repornite, fiind solicitat acceptul utilizatorului în acest sens.
Este necesară repornirea mașinii după care fișierul care conține locațiile de la care pot fi descărcate pachetele trebuie restaurat la starea inițială (cu actualizarea corespunzătoare a bazei de date).
* Windows - se rulează fișierul ''genymotion.exe'' din directorul de instalare al emulatorului.
Inițial, se solicită descarcarea unei imagini corespunzătoare pentru un dispozitiv mobil virtual.
{{ :laboratoare:laborator01:genymotionvirtualdevice01.png?nolink }}
Imaginea pentru dispozitivul mobil virtual trebuie descărcată doar o singură dată.
* Se apasă butonul //Add// (+)\\ {{ :laboratoare:laborator01:genymotionvirtualdevice02.png?nolink&600 }}
* Se realizează procesul de autentificare prin furnizarea numelui de utilizator și a parolei, prin accesarea butonului //Sign in//\\ {{ :laboratoare:laborator01:genymotionvirtualdevice03.png?nolink&600 }}\\ {{ :laboratoare:laborator01:genymotionvirtualdevice04.png?nolink }}
Autentificarea se face cu numele de utilizator ''pdsd'' și parola ''pdsd''.
* Se caută dispozitive mobile virtuale în funcție de versiunea de Android (4.1.1) și se selectează pentru instalare //Nexus S - 4.1.1 - API 16 - 480x800//; se apasă butonul //Next//\\ {{ :laboratoare:laborator01:genymotionvirtualdevice05.png?nolink&600 }}\\ {{ :laboratoare:laborator01:genymotionvirtualdevice06.png?nolink&600 }}
* Se afișează detaliile dispozitivului mobil care se dorește a fi instalat pentru care se poate indica și o denumire sugestivă; se apasă butonul //Next//\\ {{ :laboratoare:laborator01:genymotionvirtualdevice07.png?nolink&600 }}
* După ce s-a realizat instalarea, se apasă butonul //Finish//.\\ {{ :laboratoare:laborator01:genymotionvirtualdevice08.png?nolink&600 }}
* Pornirea unui dispozitiv mobil virtual se face apăsând butonul //Play//.\\ {{ :laboratoare:laborator01:genymotionvirtualdevice09.png?nolink&600 }}\\ {{ :laboratoare:laborator01:genymotionvirtualdevice11.png?nolink&400 }}