The Android SDK and Development Tools

July 17, 2010

FINALLY!  It only took about 2-3 days for me to get this thing working.  This post is going to outline what I did.  The reason being that I might have to go through this process again sometime in the future and also finding help online was not that easy.

STEP 1: Get the right version of Eclipse. At the time of this post Eclipse 3.6 is out, well you don’t want this version since Google has said that there are problems with this version and their SDK. Instead you want to get Eclipse 3.5.2, just to the download page and select to see older versions of Eclipse, then fine 3.5.2 and download. Depending on your connection this shouldn’t take too long.

STEP 2: Install Eclipse. For this step just see my previous post, all the steps are exactly the same even though you are installing Eclipse 3.5.2 and not Eclipse 3.6.

STEP 3: Download the Android SDK. Just enter Android SDK into Google and the page you want should be the first link. Download the Linux version (I assume you are using Linux, though Mac users might also be able to find some help in this post). It’s a pretty “small” file so it shouldn’t take that long to download. Unpack the file with tar -xzf <filename>. Then save the extracted directory somewhere, we shall refer to this location as SDK_HOME.

STEP 4: Install the SDK. First you will want to add SDK_HOME/tools to you PATH. To do this just open up a terminal and enter, PATH=$PATH:SDK_HOME/tools.
Remember that SDK_HOME is the full path of where you saved the extracted directory. Now while you are still in the terminal run;
cd SDK_HOME/tools
./android

This will open up and SDK manager UI. Select available Software (or something along those lines) and then select everything in the right column. You don’t need to select everything but it doesn’t hurt, since I’m not sure exactly what you need since I didn’t read all the options. Once you have done this click install and then wait a while for everything to be downloaded and installed. At the end of this process you will get a window prompting you to restart the manager, please do so.

STEP 5: Open Eclipse. This step might not be necessary for some people but it was for me and I figure that it will be for others. So as to avoid any potential future problem please do as instructed.
Go to Help > Install New Software…, then click the Add button to the right of the drop down menu. In the box that appears enter Galileo Software Repository as the name and http://download.eclipse.org/releases/galileo/ as the location, and then hit OK. Then in the filter box (the text box below the drop down menu) enter “server”. You should see an item called “WST Server Adapters…“, select this item (or everything in the same group if you want) and then press next. Agree to the license and then hit finish. If at any point you are asked if you trust the source of the software say yes (or whatever the appropriate option is).

STEP 6: Integrate the Android SDK into Eclipse. Once again go to Help > Install New Software…, and click the Add button as before. This time in the name field enter Android Development Plugin (or any appropriate name), and in the location enter https://dl-ssl.google.com/android/eclipse or http://dl-ssl.google.com/android/eclipse. Now select everything and click next. Agree to the license and say that you trust the software source if asked at any point.

STEP 7: Tell Eclipse where to find the Android SDK. Go to Window > Preferences. In the left column select Android, if you don’t see Android then a previous step did not work as intended and I’m not sure how to help you (I suggest removing everything relating to Android and Eclipse from you system and starting over). Now select the text box for the location of the SDK, enter SDK_HOME (hopefully you remember where it is).

STEP 8: Create an Android emulator. Go to Window > Android SDK and AVD Manager. On the right select New and enter a desired name for your emulator and size for the virtual SD card.

If everything went as planned you should now be able to start development.  For tutorials just search Google or the Android SDK site.

The following site was pretty helpful when I encountered problems installing the Android Development Plugin.  Additionally, this YouTube video is pretty useful and documents all the steps, other than the method you should use to install Eclipse.

Advertisements

Eclipse

July 16, 2010

I’m sure that you have heard of Eclise.  If not then all you need to know is that it is a very popular (and for a good reason) IDE mainly for Java.  However, it does also have C/C++ support, but it is mostly used with Java.

As you know, I’m not big on programming in Java.  But I recently purchased a Nexus One phone, and the IEEE SECon got me a little interested in Android application development.  I don’t plan for anything I make to be widely distributed, but rather just for personal use.  In any case, I would still need a place to create my programs.  Sure this can be done with a normal text editor and the command line but why bother with that when Eclipse and the Android SDK make it so simple?

I’m going to talk about getting and installing Eclipse onto you system (which I will assume to be Ubuntu).  Sure you could just run sudo apt-get install eclipse but this way assumes that you are using the OpenJDK version of Java and not Sun’s. So if you are using SunJava, which it seems most people do, then this how-to is for you.

First head over to the Eclipse site and download the IDE. To find the site just use Google and then do some reading and clicking, so there is no need for me to post a link. If you can’t get past this step then you probably shouldn’t be thinking about using Eclipse.

Next we will open the package you have just downloaded and then move it to the /opt directory. To do this just run the following sequence of commands:

tar xzf <filename>
sudo mv eclipse /opt/eclipse
cd /opt
sudo chown -R root:root eclipse
sudo chmod -R +r eclipse
sudo chmod +x `sudo find eclipse -type d`

The chown command changes the owner of a file/directory, if you have been reading this blog then you should be able to figure out what the other commands do.

Next we will add eclipse executable to your path.

sudo touch /usr/bin/eclipse
sudo chmod 755 /usr/bin/eclipse
sudoedit /usr/bin/eclipse

then add this to the file

#!/bin/sh
#export MOZILLA_FIVE_HOME="/usr/lib/mozilla/"
export ECLIPSE_HOME="/opt/eclipse"

$ECLIPSE_HOME/eclipse $*

I’m not all to sure exactly what the touch command does but you can look that up yourself (either online or with man).

Finally, the “most important” part; creating a GNOME-menu icon. This is something that would normally be done when you use the apt-get method.


cd /usr/share/applications
sudo nano eclipse.desktop

And enter the following into the created file;

[Desktop Entry]
Encoding=UTF-8
Name=Eclipse
Comment=Eclipse IDE
Exec=eclipse
Icon=/opt/eclipse/icon.xpm
Terminal=false
Type=Application
Categories=GNOME;Application;Development;
StartupNotify=true

All the stuff entered into the file makes perfect sense, so if you ever wanted to make a menu item for any other program you now know how.

All of these steps can be found at http://flurdy.com/docs/eclipse/install.html.


More on the Linux File System

May 11, 2010

Some of you might remember when I did a few post on the Linux file system.  If not, or you would just like to reread them just follow these links: part1, part2, and part3.  I’ll admit that I didn’t finish this series as I had originally planned, but it does provide a good place to start learning.  Maybe one day I’ll try and finish/improve upon this series, but I won’t hold your breath.

For those of you that would like to learn more about the file system you can either go to Google or you can run the command man hier from the terminal.  This will provide you with a general overview of each of the partitions for the file system.


Terminal Update

May 9, 2010

Well continuing in my recent “bashing Lucid Lynx” trend I have found a problem once again.  I am sure that we are all familiar with the graphical interface for updating our system.  If not then you can find it by going to System > Administration > Update Manager.  Well for some reason for me this program decides to freeze as well, and unlike Firefox it doesn’t ever recover.  Luckily there is a way to apply updates from the terminal (see the terminal is your second best friend, Google is first).  The command you will need is

sudo apt-get upgrade

This will install the newest version of all packages (programs) that are currently on your system. Here is what the man page says

upgrade is used to install the newest versions of all packages
currently installed on the system from the sources enumerated in
/etc/apt/sources.list. Packages currently installed with new
versions available are retrieved and upgraded; under no
circumstances are currently installed packages removed, or packages
not already installed retrieved and installed. New versions of
currently installed packages that cannot be upgraded without
changing the install status of another package will be left at
their current version. An update must be performed first so that
apt-get knows that new versions of packages are available.

So after reading this it would seem that you might have to run either sudo apt-get autoremove or sudo apt-get autoclean.

I am not sure if this will also take care of security updates as well so just to be on the safe side I would assume not.  So I’ll have to find a way to get this done from the terminal as well.  Hope this was helpful to some of you, or at least provided you with a bit of new information.


At Least it Doesn’t Look Horrible

May 7, 2010

I know I promised that I would try not to bash Lucid Lynx too much in this post, so I’ll get it out of the way at the beginning.  WAY TO JUMP ON THE RIDIN’ APPLE’S D*CK BANDWAGON!  Everything from the default login screen to the location of the Min/Max/Close buttons screams Mac OS X.

That being said, I must admit that it is a refreshing change from the old theme.  Though I did rather like that theme.  One of the biggest “flaws” in my opinion was moving the Min/Max/Close (mmc) buttons to the left.  You can either get used to this or move them back where they belong (on the right).  Moving them isn’t difficult at all, just run gconf-editor.  Then go to apps>metacity>general and from the list on the right choose button_layout; change its value to either
menu:minimize,maximize,close
or
:minimize,maximize,close
The former puts a simple menu button on the left side like you are used to from previous versions, while the latter has no such menu button. Either way the mmc buttons are now back on the right.

Next is the terminal, you would think it is impossible to mess this up.  Well they did and fortunately they provided the tools to easily fix their blunder.  Who thought that white text on a PURPLE background was a good idea? Well just open a terminal, select edit and then choose Profiles… (or Profile Preferences).  From here it is pretty self explanatory on how to get what you want.  Also a new feature that I like is that you can now choose the default size of the terminal from this location.  Before you would have to edit a file (who’s name I can’t recall at the moment). Other than that, it’s still the terminal we have all known and loved (you better love it or you’ll be severely limited in what you can do).

The notification applet/panel has changed some as well. I suppose it has its improvements but I can’t seem to find them.  However, I can’t find any real faults with it either, so the jury is still out.  I will say however, that it is a little annoying at times.

The set of default background are amazing.  For the first time I haven’t had to go to Google and do an image search to find one that I would like to use.  At least they got this part right I suppose.  Also the icon set didn’t get worse, I’m pretty impartial about this change as well.  The default theme is pretty good, but the only thing that bothered me about it is that when I made my top panel transparent it left behind regions that were still gray. To change this I just changed to the Dust theme, which more or less looks exactly the same.

The screensaver selection has been drastically reduced since 8.04. So either hope that the one you like is still there or you will be forced do download one that you do like.

Next post will be about the pre-installed applications and what I chose to add/remove.


Broken Login

May 7, 2010

So I’m sure that by now you’ve heard that by default Ubuntu has the root account disabled.  Naturally the first thing you ask when hearing this is, why?  Well once you think about it the answer becomes obvious. Security.  Everyone knows that every Linux system has a root account. So if you want to do “bad things” to it all you need to do is guess the password. Well if there is no password to guess then you are just S.O.L.

Now using logic along these lines you figure that a system is more secure if an “hacker” not only has to break passwords, but also guess the login names.  Well it seems that the Ubuntu developers threw this right out the window when making 10.04 (maybe they did it earlier but definitely not in 8.04).  By default, the login screen has you choose a user from a drop down list, and then you enter the password.  To make things worse, there isn’t an easy way to fix this.  Fortunately you can change this behavior, but you will need to do some work.

To begin with, you need to make an addition to your software repository.  Just  enter the following into the terminal:
sudo add-apt-repository ppa:gdm2setup/gdm2setup
Then you need to tell your system that you have made changes and they need to be implemented.
sudo apt-get update
Finally you are ready to install the program.
sudo apt-get install python-gdm2setup

To find the program you can go to System>Administration and it will be the new entry (sorry I don’t recall the name). Another cool thing is that you can now also change the background image of the login screen, which was “impossible” before (or so I have read).  Now if only I could find a way to make it so that when you enter your password no dots or anything appear, so as to not let others know how long your password actually is.

Next post I’ll talk about the issues I have with the new appearance. Don’t worry there are some things I actually do like (though not many).


Back to a Walking Speed

May 7, 2010

Well the Firefox slow down has finally gotten out of hand.  I’ve installed Swiftfox, which is basically Firefox but supposedly optimized for speed.  If you want to try it then just do a Google search for Swiftfox, and click on just about any link of your choice.

In the previous post I provided a link that showed how to supposedly fix the problem.  More or less what it instructed you to do was disable IPv6 in Firefox.  Well this didn’t work for me (though it might for you so I suggest you try it anyway).  After realizing that this didn’t work I found another site that showed how to disable IPv6 system wide.  Here is what the site says to do;

First check to see if IPv6 is enabled. If the following returns 0 then it is, otherwise it’s not.

cat /proc/sys/net/ipv6/conf/all/disable_ipv6

If it is enabled the you need to run the following and then restart your system.

echo "#disable ipv6" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.all.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.default.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.lo.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf

Just to be safe however, I installed Google Chrome anyway.  My system still freezes every now and then, but it’s no longer as bad as it used to be.  At this point I think that it’s something else (probably flash, who knows).

Another problem I’ve encountered is that Pidgin isn’t as responsive as it was back when I used 8.04.  But that could be due to the Facebook plugin, I’ve experienced this before so fixing it shouldn’t be too difficult.

Well my next post will most likely be about more problems I have with 10.04 (thank god this is a LTS, because it seems like the problems don’t stop).

EDIT: I totally forgot to mention what the tee command does.  It reads from standard in and writes to either standard out or a file.  When used with the -a flag it appends to the end of the designated file(s). Therefore, the following commands will have the same (overall) result.

echo "I can append to a file" >> my_file
echo "I can append to a file" | tee -a my_file

Similarly the same is true of the following.

echo "I can overwrite a file" > my_file
echo "I can overwrite a file" | tee my_file