Retro-programming on Android
After my detour at the bakery (see previous story), I went for a walk in the park across the street, as my sneakers tread the ground, my mind started to ponder. How was it actually to code back in 2008? A new flow of memories hit me.
In 2008, Android was just beginning to make waves in the world of mobile technology. As a budding developer eager to explore this exciting new platform, I set out on a journey to create my own Android app. At the time, I was using Linux Debian with Gnome, a performant and notorious Linux distribution. I was coding with Eclipse, browsing the web with Firefox (before switching to Chrome a little bit later) and I was listening to MP3s with Rhythmbox. I missed an opportunity to buy some Bitcoin, but I’m diverging.
I sat on a bench and listed my ingredients for rebuilding a 2008 development environment for Android 1.0 or 1.5 (Cupcake).
- A virtual machine
- An OS
- Java JDK
- Eclipse ADT plugin (Android Developer Tools)
- Android SDK 1.0 or 1.5 (Cupcake)
- Android System image
- Some documentation
- App source code
Selecting my ingredients
The virtual machine will allow me to run another (antique) operating system. I landed on VirtualBox to create the virtual machine. I could run my vintage android development environment as it supports a myriad of OS. It is available on Linux, MacOS and Windows.
Naturally, I settled on Debian Etch (4.0) as my operating system of choice. Debian as always played well with Android. I was told it was one of the favorite distributions at Google. And it has a special place in my heart. The package system with .deb and apt is widely use, it is easy to find software in that format.
Next, I needed to find a version of Eclipse that would work with the Android Developer Tools plugin and the Android SDK. My first attempts weren’t fruitful, I had compatibility issues because of the different architecture between Eclipse and Android SDK.
That reminded me that in 2008, we were transitioning to 64-bit, a lot of software was still 32-bit including the Android SDK. I had to do some research to find Eclipse Helios in 32-bits which is compatible with the Android 1.0 / 1.5 environment.
Talking about the Android SDK and ADT, 15 years later it is still possible to find older Android SDK including 1.0 and 1.5, on the official Android Developer website. It even includes some development versions like the m3-rc20a for me most adventurous.
Unfortunately ADT can’t be found anymore on the official website. I’m thankful that archive.org exists, I found ADT 0.8.0. That should do it for this trip back in 2008.
With the correct versions of Eclipse, ADT and the Android SDK in hands, I was able to continue my journey of reviving Android development.
It was time to find an emulator to run my Android apps on. It hits me that the Android SDK, included an emulator that could simulate a range of Android devices. I just wondered what device I would see on the screen when I run it.
The very last piece of the puzzle was Java. Debian Etch came with Java 1.5, but Eclipse Ganymede requires Java 1.6. thankfully Oracle kept most version of Java including 1.6. It only requires to sign-in.
I had all the ingredients, it was time to cook them all together.
The air was getting cooler as the sun was setting. It was time to walk back home. I order a good pizza, cheese and no pineapple, took cold soda from the fridge and sat at my desk. Things were about to get exciting.
For the step-by-step tutorial, please refer to the companion article (upcoming).
Cooking Cupcakes like in 2008
I installed VirtualBox and Debian Etch with the ISO I downloaded from archive.org. The installation wizard was all blue and red, all text, 80x24, standard terminal. I installed that system countless of times. My muscle memory kicked in. This thing ran Linux 2.6!
It took only a few minutes to land on the Gnome desktop. Those old icons and colors I found were charming in a way.
I opened Firefox and realized how much the web has changed, many pages wouldn’t load or would be broken. I managed to download my tools, Eclipse, Android SDK, ADT plugin, and Java.
I executed the installer for Java, and it installed the new version locally. I unarchived Eclipse, and linked it with my fresh Java installation.
Double clicked on Eclipse and ta-da, the purple splash screen appeared right in the center of my display.
I installed the ADT plugin and accepted all the licenses. I finally linked the plugin with Android SDK.
I created a new Android project, Java and XML files appeared. The project was relatively simple, with just a few files.
I created an emulator and within a few minutes It was running 1.0. I clicked the green arrow button to run the app. And after a quick compilation, the app showed up in the emulator.
That concluded my first step in reviving the early days of Android Development. Retro-programming has a part of archeology, I couldn’t find ADT 0.3.1 unfortunately.
In my next story we will create an app together with this environment.
Thanks for reading! Please consider clapping, and follow to not miss upcoming stories.