I woke up at 6 this morning with the urge to investigate writing an Android application. I have been a mostly satisfied user of Android ever since the G1 was first launched. I even switched to T-Mobile to get one from AT&T. The sales person at the time was confused as to why I would switch carriers to get that phone.
Fast forward to this fine morning where I’ll make my first attempt at putting my own pixels on my Android device, now a Nexus One.
Unfortunately, Eclipse in openSUSE seems to be a bit out of date. However, the Android ADT Eclipse Plugin is known to not work on 3.6 anyway, so for now I am just sticking with Eclipse 3.4. Additionally, there does seem to be a packaging issue as well that you’ll need to resolve.
sudo zypper in eclipse java-1_6_0-sun-devel
sudo chgrp -Rc users /usr/share/eclipse
sudo chmod -Rc g+w /usr/share/eclipse
Note that I explicitly select the Sun Java devel package because Eclipse is allegedly faster using this Java implementation. If you prefer not to taint your system with proprietary software, the default-selected java-1_6_0-openjdk-devel should work just fine. The permissions fixing against
/usr/share/eclipse is to make sure that Eclipse software updates work properly.
Start Eclipse, and go to Help → Software Updates and then select the Available Software tab and finally Add Site. Add the two following sites:
When both sites show up (are no longer “Pending”), check the top-level check box for the Android site to select all Android plugins, then click Install and walk through the installation wizard.
With the installation complete, quit and restart Eclipse. Go to Window → Preferences and choose the Android section. Here you need to set up your SDK. I’m assuming you’ve already installed it.
Now you can go to Window → Android SDK and AVD Manager. Select Available Packages and install the SDKs, documentation, and samples packages that interest you. I’m sticking to the 1.6 SDK I guess for now, since not many people seem to have the 2.2 goodness yet. After you install an SDK, you can then create a virtual device that targets it.