Installing My First APK from the SDCard

I finally finished my first Android application to the point that I wanted to try to start using it on my phone.

This post explains how to install applications, but I had some problems:

Bright Hub: How to install APK files on your Google Android Phone

First, with installing from the SD Card, it doesn’t say exactly what application to use.  From the Market, I installed “AppsInstaller” developed by ModMyMobile.com.  When I opened the program, it scanned my card, and found my application that I had uploaded via the USB cable.  But, it said that the applications were blocked and offered to take me to settings.  I check the “Unknown sources” option which is described  as “Allow install of non-Market applications”.  Then, it worked!

Also, I tried to install with adb, but I couldn’t get that to work.  When I ran “./adb devices”, I don’t see any devices listed.  This “G1 usb drivers for linux” post looks promising, but I haven’t finished going through all of the steps.  I will try to post back when I do.

WebEx working again in Ubuntu 9.10-64bit!

It seems like this is the pattern with me and WebEx.  I tinker to get it working, I upgrade, it breaks, repeat.  Well, my most recent fling through this cycle started with a broken hard drive.  Actually, several things started it.  First, I originally thought my laptop had a 32-bit processor.  When I found out the new version of PeopleSoft requires a 64-bit OS, I did some research and found that it was actually a 64-bit processor.  Then, when I sent the laptop off to have the hard drive replaced, I figured that was the time to put 64-bit Ubuntu on it.

So, that is how it started, and then, I couldn’t get WebEx to work.  I got Eclipse to work on 64-bit Java, Java worked in the browser, and everything was fine.  I didn’t want to try to pull it all out and reinstall the 32-bit Java just to get WebEx working.  So, I decided to attempt to try to install the 64-bit and 32-bit versions side by side.  With some help, I got it to work:

Ubuntu Forums: 32-bit and 64-bit Firefox at the same time

The first step was installing Java.  It was pretty simple and straight forward.  I downloaded it from Sun’s website.  Essentially, you just extract it and set your environment variables to use it.  The path I chose was $HOME/bin/java.

Next, I found that you cannot use the 32-bit version of Java with the 64-bit version of Firefox.  Firefox throws out all of the 32-bit plugins with this message: “wrong ELF class”.    So, I installed Firefox by downloading it from Firefox’s website.  I extracted it to $HOME/bin/java/firefox.

The next key was linking the Java plugin in the path where Firefox would see it.  First, I linked the plugin into plugins directory:

ln -s $JAVA_HOME/lib/i386/libnpjp2.so libnpgp2.so

Once in the Firefox plugins directory, you have to make sure Firefox knows where the plugins directory is with the MOZ_PLUGIN_PATH variable.

So, to recap, I have:

  • Java installed at $HOME/bin/java
  • Firefox installed at $HOME/bin/java/firefox
  • Java pluing installed at $HOME/bin/java/firefox/plugins from $HOME/bin/java/jdk…/lib/i386/libnpjp2.so

Then, I created an environment script that sets all of the paths and variables to make it work:

#!/bin/sh
export PATH=~/bin/java/firefox:~/bin/java/jdk1.6.0_18/jre/bin/:~/bin/java/jdk1.6.0_18/bin/:$PATH
export JAVA_HOME=~/bin/java/jdk1.6.0_18/jre
export MOZ_PLUGIN_PATH=~/bin/java/firefox/plugins

Finally, I created a script to launch firefox:

#!/bin/bash

cd ~/bin/java
. ./env.sh
firefox --no-remote -P WebEx

And, it worked!

Ubuntu 9.04

I finally upgraded to Ubuntu 9.04  last weekend.  My wireless card quit working.  I tried several things like reinstalling the broadcom driver and all, but it wouldn’t work in Ubuntu 8.10.  I thought “”what would it hurt”, I will probably have to reinstall anyway.

The upgrade went with no problems, but it still didn’t fix my wireless problem.  I finally determined that my problem was with the network-manager and not my driver because I could see it with ifconfig.  So, I completely removed the network-manager, rebooted, and reinstalled.  Still no luck.  So, I was sitting on the couch programming with no Internet, and it just started working again!

I have noticed a few things working better!  First, when I do my dual screens, I noticed that it now places my Applications bar on the laptop screen.  Before, it didn’t seem to matter how I switched to dual screens, it would place my Applications bar on the other monitor.

Resources

Thread used for info on reinstalling network-manager

Partitioning in Ubuntu Installs

I just read a good tip about partitioning for Ubuntu.

They suggest using GParted Live to partition the hard drive first.  That sounds great!

I miss the option that Fedora has where you can delete all the Linux partitions and have it automatically create the new partitions.  I don’t remember the options for sure, but I think you can only delete all the partitions or shrink the existing partitions.  If I am reinstalling, I want it to leave my Windows partition alone and delete the Linux ones.  Another great option would be to manually pick the partitions to delete and use the freed space to automatically create the partitions.  Finally, another option that would be nice is to choose how much it shrinks the existing partitions.

NavIt

I was having trouble downloading the maps for RoadNav, and I didn’t notice a lot of progress or change on the problem.  So, I checked for alternatives, and I found this.  I tried the first on the list: NavIt.

Installing

I didn’t find NavIt in the Ubuntu repository, and so, I had to install manually.  The Wiki has a getting started section with instructions for installing on Linux.

First, I had to install the dependencies so that I could compile it.  I installed the list from the dependencies section.

sudo apt-get install build-essential pkg-config automake libglib2.0-dev libtiff-dev libtool libxmu-dev libfribidi-dev gettext zlib1g-dev gpsd gpsd-clients libgps-dev libgtk2.0-dev freeglut3-dev glutg3-dev libcegui-mk2-dev libdevil-dev libglc-dev libpcre3-dev libmng-dev libfreeimage-dev

Next, I ran the configure and make.  Instead of installing, I just ran it from the directory where I compiled it.

Configuring

At this point, I had it working as long as I ran it from the directory where the program exists.  But, it didn’t have any maps for my area.  Next, I had to tackle configuring with the XML file.

First, I created a hidden directory and copied the xml file to it:

$ mkdir ~/.navit
$ cp /home/skp/bin/navit-0.1.0/navit/navit.xml  /home/skp/.navit/

Next, I opened the xml file with Gvim (my favorite text editor).  “Gvim ~/.navit/navit.xml”.  You could use any text editor to open it.

The first change I made was to change the default position.  I got my default coordinates from here as suggested in the Wiki.  I found that these coordinates got me close, but not quite the address I had requested.  So, I checked them with Google maps.  If you notice, the URL on the “Link” link in the upper right corner has the coordinates of the map you request.

I tried to run it at this point from my home directory, but it would not work.  It was looking in other directories, and so, I took the easy route and just keep running it from the source directory.  It still read my xml file from my home directory.

Next, I had to setup the maps.  I followed these directions.  I used the maps from CloudMade, which has maps of the United States.  I downloaded the *.navit.bin.zip files and extracted them to ~/.navit/.  For example, I downloaded the Florida map: florida.navit.bin.zip to ~/.navit/florida.navit.bin.  Finally, I added this to the XML file:

<mapset enabled=”yes”>
<map type=”binfile” enabled=”yes” data=”/home/skp/.navit/florida.navit.bin” />
</mapset>

Now, when I started it up, I saw a map with where I wanted it to start!

Creating a Shortcut

The last thing  I did was create a shortcut in my application menu.  This was pretty easy.

The first step was to create a simple shell script to launch the program.  This was necessary because the program has to run from the source folder.  Here is what my script looked like:

#!/bin/sh

cd ~/bin/navit-0.1.0/navit
./navit

Note: change the cd path to the location where you downloaded and compiled the program.

Then, make the script executable with:

chmod +x navit.sh

To add the menu, I used the Menus application by right clicking on the Applications menu and choosing “Edit Menus”.  I clicked on the Accessories menu and clicked the New Item button.  Here are the options that I chose:

  • Type: Application
  • Name: NavIt
  • Command: /home/skp/bin/navit.sh
  • Comment: <blank>

Note: change the Command path to the script that you created to launch the program.

For the icon, I clicked on the little spring icon on the left to choose a different icon.  For the path, I chose: /home/skp/bin/navit-0.1.0/navit/xpm/desktop_icons/128×128.

To troubleshoot, you may want to change the Type from Application to Application in Terminal because the terminal window will show you the output messages from the program.

Gpsd: Fixing for Ubuntu

I have an LT-20 Delorme Earthmate GPS.  It may not be the best GPS, but it gets the job done.  Getting it to work in Ubuntu was no easy feat.

I had to fix a bug in a cypress module.  I followed the instructions from here.

To get the kernel version, I ran:

uname -r

Then, to install the kernel source, I ran:

sudo apt-get install linux-source-2.6.24

Then, I changed directories into the installation directory and unzipped the source:

cd /usr/src
sudo tar -xvf linux-source-2.6.24.tar.bz2

Then, I copied the two files:

cd linux-source-2.6.24/drivers/usb/serial/
sudo mkdir /usr/src/modules
sudo cp cypress_m8.h cypress_m8.c /usr/src/modules/

Next, I created the make file (note that I have installed gvim.  I saw a note saying that they had problems using the gedit text editor):

cd /usr/src/modules
sudo gvim Makefile

And, I pasted these lines into the Makefile:

obj-m := cypress_m8.o
KDIR := /lib/modules/

$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules

Then, I edited cypress_m8.c and commented out line 408.  The original instructions have more detail on this.  I thought the line number might be different, but it was the same as the original instructions.

When running make (sudo make) I had trouble with “make: Nothing to be done for `default’.” message.  I just opened the file and deleted and readded the tab in front of the last line.  Then, it ran fine.

Then, I ran the command:

sudo install -m 644 cypress_m8.ko /lib/modules/`uname -r`/kernel/drivers/usb/serial/cypress_m8.ko
sudo depmod -a

Resources

Webex in Linux

This page has moved.  Please update your links:
http://linuxsagas.digitaleagle.net/2008/08/19/webex-in-linux/

I finally got Webex to work in the lastest version of Ubuntu (Hardy Heron – 8.04).  It was as simple as setting the JAVA_HOME variable.

http://ubuntuforums.org/showthread.php?t=841801

At least this allowed the client to load.  I have yet to test it in a meeting.

Thunderbird

Well, work demands are forcing me to begin to use a fat client for my mail.  Up until now, I have been using GMail successfully.  So, I am choosing Thunderbird.

Here is what I like about GMail:

  • I can access GMail from any computer (I used to work on multiple computers depending on the client/day of the week)
  • I can manage multiple email addresses (Each client was giving me an email address with their domain name)
  • I like the GMail interface
    • threads instead of messages
    • labels
    • Ability to type the name of a person in the to box

But, there were a few features that I needed that forced me to switch to Thunderbird:

  • HTML Signatures (or at least formatting)
  • Different signature for each email account
  • Use a third party SMTP server — sending through GMail leaves an “on behalf of” message even if you choose to send with another email address.

I have started with two extensions that I thought were helpful:

One of the frustrations that I found was that when I replied to a message, it would put the quoted message above my reply.  Most email programs place the original programs below the new message.  I found a thread that explains you can change this in the Account Settings, Composition and Addressing settings.

The signature is in the Account Settings as well.  It is on the main page for each account.  I created an HTML file in my home directory and attached it to account.

Zindus was easy to configure.  You can access the setings in Tools > Zindus.  I just entered my GMail account information and I was off.  I did have an issue with duplicate contacts because I had already sent a couple of emails to people already in my GMail contact list.  Thunderbird automatically adds to your contact list people to whom you send an email.  I just deleted those contacts, and everything synced fine.

The Lightning settings were in the Preferences — that is in the Edit menu for Linux and Tools menu for Windows.

The Provider for Google Calendar was a little more difficult to figure out.  I finally found some instructions on the wiki.  I had to open the Google Calendar web interface.  Then, if you click settings on the calendar list, you get your list of calendars.  Next, click on the link for your specific calendar that you want in Thunderbird.  At the bottom of the settings list, you will find the XML links.  I right clicked on the XML button for the Calendar address and selected Copy Link Location.  Once I had the link copied, I went to Thunderbird.  First, I had to click on the Calendar button on the lower left hand corner of the screen.  Then, I could choose File > New > Calendar.  I chose a calendar on the Network.  Next, I chose a Google calendar and pasted the XML link into the Location.  Then, it asked me to log into the Google account.  Finally, it asked for a name/description for the calendar.

Ndiswrapper on Ubuntu

Here is an excellent howto about installing Ndiswrapper on Ubuntu:

https://help.ubuntu.com/community/WifiDocs/Driver/Ndiswrapper

Linux Mac Crossover

I found an interesting article today about making Linux look like a Mac.  The thing is that I don’t necessarily want to go all the way, but I would like to steal a few things from their side of the world.

Make Your Linux Desktop Look Like A Mac – Mac4Lin Project Documentation

The big thing that caught my eye was the AWM on page 3.   I had trouble following the instructions though.  These instructions worked a little better:

HOWTO: functional eye-candy with Avant-Window-Navigator and Affinity