Tillbaka till lektionslistan

Mobila applikationer med Android: Lektion 4

Idag: Android-SDK:n och Eclipse
  • Installera Java
  • Installera Eclipse
  • Installera Android-SDK:n
  • Installera Android-pluginen i Eclipse
  • Skapa ett projekt

Klicka på startknappen i den lilla mediaspelaren ovan för att lyssna på lektionen. (Man kan behöva vänta en stund på att ljudfilen laddas ner.) Om mediaspelaren inte syns, eller om det inte fungerar av något annat skäl, kan man klicka här för att ladda ner mp3-filen (ca 13 minuter, ca 6 megabyte). Beroende på hur webbläsaren är konfigurerad kan det kräva ett separat mp3-spelarprogram av något slag.

Tillägg 5 januari 2014:

Den här lektionen beskriver huvudsakligen hur man utvecklar Android-appar i utvecklingsmiljön Eclipse. Numera finns det en annan utvecklingsmiljö. Googles egen Android Studio. Det är den som Google numera rekommenderar i första hand.

För mer information, och aktuella instruktioner, bör man läsa på Googles Android-webbplats: Download Android Studio and SDK Tools

Bild 1: En mycket enkel app

Emulatorn med hello world i Linux

Bild 2: En mycket enkel app i Windows

Emulatorn med hello world i Windows

"Bild" 3: Provkörda system

Detta är provat i:
  • 32-bitars Windows 7 (inuti VirtualBox)
  • 64-bitars Windows 7 (inuti VirtualBox)
  • 64-bitars Ubuntu 10.10
  • 32-bitars Ubuntu 11.04
  • 64-bitars Ubuntu 11.04
  • 64-bitars Ubuntu 13.04
  • 64-bitars Ubuntu 14.04 (men se nedan)

Bild 4: Följ instruktionerna

SDK-fliken på Googles Android-utvecklarwebbplats: http://developer.android.com/sdk

SDK-fliken på developer.android.com

"Bild" 5: Ladda hem och installera Java

Tillägg 15 september 2014: Se också den gula rutan lite längre ner!

  • Följ länken från developer.android.com
  • 32-bitars, inte 64-bitars
  • SDK, inte JRE
  • Windows: jdk-7-windows-i586.exe
  • Linux: jdk-7-linux-i586.tar.gz

"Bild" 6: Ladda hem och installera Eclipse

  • Följ länken från developer.android.com
  • 32-bitars Eclipse för Java EE
  • Inte någon annan version än den för Java EE
  • Inte 64-bitars
  • Windows: eclipse-jee-indigo-win32.zip
  • Linux: eclipse-jee-indigo-linux-gtk.tar.gz

"Bild" 7: Ladda hem och installera Android-SDK:n

  • Följ instruktionernas på developer.android.com
  • Windows: installer_r12-windows.exe
  • Linux: android-sdk_r12-linux_x86.tgz

Tillägg 15 september 2014:

Instruktionerna ovan börjar kanske bli lite föråldrade. Idag finns tre sätt att installera Android-utvecklingsmiljön:

  • Det lättaste är förmodligen Android Studio, men det är inte en färdig produkt utan en beta-version som fortfarande kan innehålla fel, och jag har inte mer än provkört den och sett att den gick att installera och skapa enkla projekt i.
  • Man kan också ladda hem och installera "ADT Bundle", som är Android-SDK:n och Eclipse tillsammans.
  • Man kan dessutom ladda hem och installera Eclipse respektive SDK:n separat. Det är det sätt som beskrivs på ljuspåret i lektionen, men det är också mest arbete.
  • När du skapar en emulator, använd inte API-nivå 20 i emulatorn! Det är Android Wear, som har en annan design, och de vanliga exempelprojekten fungerar inte! Använd API-nivå 19 i stället,
För mer information, och aktuella instruktioner, bör man läsa på Googles Android-webbplats: Get the Android SDK

Idag installerade jag Android-utvecklingsmiljön med hjälp av "ADT Bundle" på en 64-bitars Ubuntu 14.04. Det brukar vara krångligare att få igång saker på Linux än på Windows eller Mac, så jag ger en lite längre beskrivning här av hur jag gjorde:

  • Först behöver man Java. Jag laddade ner den från Oracle. Den senaste versionen idag kom som en fil med namnet jdk-8u20-linux-x64.tar.gz, men det kan ändras i framtiden. Observera att verkar fungera med 64-bitarsversionen av Java, inte bara 32-bitars, och Java 8, inte bara Java 6. Själv valde jag att packa upp filen i katalogen /usr/local/java/installation, och sen mjuklänkade (ln -s) jag alla programmen i /usr/local/java/installation/jdk1.8.0_20/bin till /usr/local/bin.
  • För att få en helt ny och ren installation av Android och Eclipse flyttade jag undan mina gamla kataloger ~/workspace, ~/.eclipse och ~/.android.
  • Jag laddade ner ADT Bundle från Android-webbplatsen. Filen hette adt-bundle-linux-x86_64-20140702.zip. Själv valde jag att packa upp den i katalogen ~/android-bundle.
  • Android-utvecklingsmiljön innehåller 32-bitarsprogram, och för att få det att fungera på ett 64-bitarssystem behövde jag installera 32-bitarsbibliotek (se den här frågan på Ask Ubuntu). Kommandon:
    sudo dpkg --add-architecture i386
    sudo apt-get update
    sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
    sudo apt-get install lib32z1
    
  • För att kunna använda riktiga Android-enheter behövs inga drivrutiner som på Windows, men man behöver lägga till filen /etc/udev/rules.d/51-android.rules enligt Using Hardware Devices. Min fil ser ut så här:
    SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", OWNER="padrone"
    SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", OWNER="padrone"
    SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", OWNER="padrone"
    SUBSYSTEM=="usb", ATTR{idVendor}=="054c", MODE="0666", OWNER="padrone"
    SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666", OWNER="padrone"
    
    (Det är leverantörskoder (vendor IDs) för HTC, Samsung, Google, Sony, Sony Ericsson. En intressant observation är att en modern telefon som det stod "Sony" på använde sig av leverantörskoden för Sony Ericsson.)
  • Sen gick det bra att starta Eclipse:
    cd ~/android-bundle/adt-bundle-linux-x86_64-20140321/eclipse
    ./eclipse &
    
  • Jag klickade också Window och sen Android Virtual Device Manager för att skapa en emulator, så jag kan provköra program även utan en riktig telefon.
  • Använd inte API-nivå 20 i emulatorn! Det är Android Wear, som har en annan design, och de vanliga exempelprojekten fungerar inte! Använd API-nivå 19 i stället. Från början fanns API-nivå 19 inte med i installationen, så jag fick klicka Window och sen Android SDK Manager för att installera den.
  • Eclipse kraschade hela tiden, så det var helt oanvändbart, men genom att lägga till raden -Dorg.eclipse.swt.browser.DefaultType=mozilla sist i filen ~/android-bundle/adt-bundle-linux-x86_64-20140702/eclipse/eclipse.ini, enligt Stack Overflow, så fick jag det att fungera. Enligt uppgift så är det bara ADT-bundlen som beter sig så här, och bara i Linux.
  • Därefter fungerade allt som det skulle, utan något av alla de problem som räknas upp här nedanför.

"Bild" 8: Problem som kan uppstå

  • Android-SDK:n funkade inte med Eclipse IDE for Java Developers (Indigo-versionen) men med Eclipse IDE for Java EE Developers
  • Glöm inte att ange sökvägen till Android-installationen i inställningarna i Eclipse
  • Installationsprogrammet för Android SDK hittade inte Java-installationen
  • Det fick inte finnas mellanslag i sökvägen till Android-installationen (som i Program Files)
  • Användaren som kör måste ha en egen, ägd installation av Android-SDK:n
  • För stor emulator

Men Google har svar på allt!

"Bild" 9: Problem 1

Fel under Linux när jag använde Eclipse IDE for Java Developers (Indigo-versionen). Löstes med Eclipse IDE for Java EE Developers.

Cannot complete the install because one or more required items could not be found.
  Software currently installed: Shared profile 1.0.0.1308119049667 (SharedProfile_epp.package.java 1.0.0.1308119049667)
  Missing requirement: Shared profile 1.0.0.1308119049667 (SharedProfile_epp.package.java 1.0.0.1308119049667) requires 'org.maven.ide.eclipse [1.0.0.20110607-2117]' but it could not be found

Sök med Google, till exempel på "Linux Android Eclipse install Cannot complete the install because one or more required items could not be found". Flera olika lösningar verkar finnas.

Bild 10: Problem 2

Glöm inte att ange sökvägen till Android-installationen i inställningarna i Eclipse.

Felmeddelande från Eclipse

Läs felmeddelandet!

Bild 11: Problem 3

Installationsprogrammet för Android SDK på Windows hittade inte Java-installationen

Felmeddelande från installationsprogrammet

Sök med Google, till exempel på "android windows installer java se devlopment kit (jdk) not found". (Lösning: Tryck Back och sen Next igen!)

Bild 12: Problem 4

Det fick inte finnas mellanslag i sökvägen till Android-installationen (som i Program Files)

Felmeddelande vid start av Android-emulatorn

Sök med Google!

Bild 13: Lösningen på problem 4

Ändra sökvägen till Android-installationen i inställningarna i Eclipse, från "C:\Program Files\Android\android-sdk till "C:\PROGRA~1\Android\android-sdk".

Ändra sökvägen till Android-SDK:n

"Bild" 14: Problem 5

Användaren som kör måste ha en egen, ägd installation av Android-SDK:n i Linux:

Downloading Android SDK Platform-tools, revision 6
Failed to create directory /usr/local/android/installation/android-sdk-linux_x86/temp
Downloading SDK Platform Android 3.2, API 13, revision 1
Failed to create directory /usr/local/android/installation/android-sdk-linux_x86/temp
Downloading SDK Platform Android 3.1, API 12, revision 3
Failed to create directory /usr/local/android/installation/android-sdk-linux_x86/temp
Downloading SDK Platform Android 3.0, API 11, revision 2
Failed to create directory /usr/local/android/installation/android-sdk-linux_x86/temp
Downloading SDK Platform Android 2.3.3, API 10, revision 2
Failed to create directory /usr/local/android/installation/android-sdk-linux_x86/temp
Downloading SDK Platform Android 2.2, API 8, revision 3
Failed to create directory /usr/local/android/installation/android-sdk-linux_x86/temp
Downloading SDK Platform Android 2.1, API 7, revision 3
Failed to create directory /usr/local/android/installation/android-sdk-linux_x86/temp

Lösning i Linux: chown -R padrone.padrone /usr/local/android/installation/android-sdk-linux_x86/

Bild 15: Problem 6

För stor emulator. Lösning: Skapa en med mindre skärm!

Skapa en AVD med mindre skärm

Bild 16: Skapa ett projekt

Emulatorn med hello world i Windows

Tänk på:
Erfarenheten lär oss att även om det ska funka med ÅÄÖ i olika namn på datorer, så är det tyvärr inte alltid det verkligen gör det. Plötsligt får man något konstigt fel som efter flera timmars letande visar sig bero på att man hade ett svenskt tecken i ett filnamn. Så det kan vara en god idé att undvika svenska tecken, åtminstone i namn som slutanvändarna inte ser. (Och allra helst borde det kanske vara på engelska?) Samma sak gäller mellanslag. Så ett tips är att kalla sitt projekt för MinSotaLillaApp i stället för Min Söta Lilla App.

Övningar

Tillbaka till lektionslistan


Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se), 5 januari 2014