Instrumentation 101 – Must have tips for Android developers

By | Events, Hacking | No Comments

Thanks to everyone who came out to our class! It was great meeting and chatting with all of you Android developers. If you missed your chance to check out our 30 minute primer at AnDevCon IV, you’ll find the details of our Android Instrumentation 101 talk in this post along with download links for the demos and scripts used in the presentation. You can download the presentation here. Testing can be boring and tedious, but its role is very important. In the long run you’ll save time fixing bugs in your application. Fortunately, Android supports many tools for testing. The…

Read More

Reverse Engineering Android: Disassembling Hello World

By | Hacking | No Comments

When it comes to learning Android, it’s amazing how easy it is to find tutorials, code samples, and documentation to immerse yourself into. Interestingly, I’ve found the inverse to be true for the, dare I say, way cooler world of hacking Android. Reverse engineering Android applications can be really fun and give you a decent knowledge for the inner workings of the Dalvik Virtual Machine. This post will be an all-out, start-to-finish, beginners* tutorial on the tools and practices of reverse engineering Android through the disassembly and code injection of the Android Hello World application. *Beginner means that you know…

Read More

Python packages and plugins

By | Hacking, Uncategorized | No Comments

While we obviously do a lot of work on the innards of Android, putting together a backend infrastructure requires a lot of engineering. We use a number of different technologies for this, and from time to time come across stuff we think could be generally interesting to others (even if it isn’t Android focused). This post is focused on Python, which we use pretty extensively. We like keeping up with the new language developments, so most of our Python posts will be related to Python 3, not the old Python 2.7. One thing that can be a little confusing with…

Read More

One true adb_usb.ini to rule them all

By | Hacking | 2 Comments

We do a lot of work with adb here at Apkudo – obtaining and maintaining an adb connection to every Android device is no small task. We could go on and on about some of the more interesting trials and tribulations with adb – there are lots, but why not start with one of the the more boring (and most common) causes for problem? A missing USB vendor id in adb_usb.ini. You know the drill: you plug in a new Android device, run adb devices, and… crickets. Nothing. Then it’s a bit of messing with dmesg or lsusb to get the…

Read More

Run Google Play on an emulator and pretend to be any device

By | Hacking | 31 Comments

Since the beginning of time man has sought to virtualize the human experience. We go to sleep and have life-like experiences in our dreams, we connect to internet sites like Chatroulette to virtually meet strangers (and inadvertently catch a glimpse of some old man balls from time to time), 1995 brought us the classic Denzel Washington/Russell Crowe sci-fi action thriller Virtuosity, and nerds gather in herds online to play StarCraft (myself included) and become virtual intergalactic heroes. The journey to virtualize reality has been a long time coming. The next logical step… to run Google Play on a virtual mobile device?…

Read More