Gradle the cry-baby

So when I started this journey I was excited to learn new environments and to get my hands dirty with the Android studio 2.1.

I made fair progress until the point where I wanted to add support for native libraries to my project. 

Cross compiling the ffmpeg libraries took a bit of fiddeling, but I eventually got it to compile for all android architectures. The next small step though turned out to be mission impossible.

Adding ndk support for jni in android studio using the experimental plugin for Gradle. Quite a mouth full and honestly I would have preferred to not needing to learn all of the intrinsic details of the build system. I would have preferred to do serious programming instead.

I have literally spent a whole working week fighting build issues, and mind you I did make a lot of progress however every single approach I tried, every route I took ended in failure.

Each possible route costing me between 4h and two days. 

Cry baby

For example the refusal of the build system to build a module without test cases. Then the constant complaining about duplicate entries when trying to assemble the apk. Why is the linker/assembler unable to resolve the basic task of NOT including the same library more than once?

Add to this frustration a bewildering set of ever changing keywords and structs in/for the Gradle build system and you will understand why it takes weeks to get basic operations to work. Trying to google any information requires to pay close attention on the post date of the answer to avoid outdated information

I am a big believer in tools which support the developer. It seems though that you must study the Gradle system and know all of the thousands little details an keywords and their meaning before you can actually use it.

Why this pain for a basic use-case which goes just beyond the brim of Java is just mind boggling.

Fallback to progress.

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.