Monday, May 12, 2014

Configuring

As a programmer, I only spend some of my time actually typing code. This weekend, I spent time on one of the more painful parts of programming, configuring. 

I wanted to try switching from Eclipse to Android Studio. I thought, or at least hoped, switching over might be a seamless process. There are deceptively simple buttons in each program for Exporting and Importing projects. So, I pressed those buttons, and voila, my project was viewable in Andriod Studio. Unfortunately, but not quite unexpectedly, the project wouldn't build. 

Build dependencies weren't correct. I was missing some. After adding them, I then created "Multi dex" duplicates error. While resolving the dependencies issue, I must have pulled in some updated and incompatible libraries. Incompatible libraries meant I had to update some code.
Eventually, I was able to run my projects in Android Studio, so Mission Accomplished. 

Configuring a system helps expose leaky abstractions. As you program, it is easy to just include/import anything just to make things work. You eventually forget what code you are pulling into your package. By creating explicit dependencies with gradle, I became a bit more aware of what is going on under the covers. 




No comments:

Post a Comment