This is second part in series of articles about Android build configuration, all parts will be linked right below. [#1 Build basics]({% post_url 2018-07-23-android-build-hacks %}) [#2 Build time optimization]({% post_url 2018-09-16-android-build-hacks-2 %}) Motivation Main reason I’ve been interested in build config tricks was to speed up development builds. As developer I’m building apps many times each day, often just to change one small thing and check if it works. Each second took of build time means a lot if you build often.
This is first part in series of articles about Android build configuration, all parts will be linked right below. [#1 Build basics]({% post_url 2018-07-23-android-build-hacks %}) [#2 Build time optimization]({% post_url 2018-09-16-android-build-hacks-2 %}) Build configuration! This is not the most exciting part of software engineering. Each technology, language, framework has it’s own rules so there are no universal patterns, Uncle Bob will not help us here. But just like this worker on left, tightening the screw of Empire State Building skeleton, developers should polish their builds - build config itself is not the application (like skeleton is not the building), but application is useless if you cannot build release version.
Side image is of course Frida Kahlo auto portrait, besides her name she has no connection with topic Motivation Lately I attended to Sekurak hacking party - it’s event organized by Sekurak where they show how easy is to hack stuff like IP cameras, routers, phones. I guess Sekurak is known mainly in Poland, but they are real professionals in area of security. During this event Michał Bentkowski was showing how easy it is to spy on Android app communication and also change app behavior using tool named Frida.
Disclaimer #1: I’m an Android developer, not sysadmin. I use terminal to help me with my workflow, not as my main tool, so please keep this in mind :) Disclaimer #2: This is based on Linux (Ubuntu), but most stuff should work on OSX also. Terminal? If you are a developer (and not a Windows peasant), you might had to use terminal for day to day stuff like installing node.js or python packages, or running scripts.