Ideal Three Badoo Android Os AMA on Reddit

Our personal Android team just got their first Ask myself all ( AMA), it has been fantastic! Thus we’re posting our top 3 Android os questions and answers from Dima, Erik, Guillermo, productive and Yaroslav.

For anyone whom don’t see much about people, all of our Android application is very large, with 100,000 traces of laws, more than 100 million downloads regarding the The Big G games shop and a magnificent professionals of 17 people who produce it.

Creating an AMA on Reddit was an outstanding chance of folks to enquire any techie concerns promoting android apps on a sizable level, the technical problems we all experience at Badoo, all of our yield provider work, reviews from the blogs and anything inbetween. Let’s get started!

Top 3

GreyAgency wanted to understand what was actually the craziest device-specific insect we’ve needed to manage?

Guillermo: will never note the vendor, but we certainly have a xxxSafeTextView and xxxSafeEditTextView, therefore we do not fail on setEnabled. Most people have a custom Lint check out that:)

Erik: there is this option equipment (once once again, not just naming most brands) where training courses through the service room was in fact put together into Android os structure. Whenever their support library model did not accommodate the internal 1 you might obtain a preverify problem. Good times!

High: I can’t remember fondly the correct problems, but we owned an accident that took place on limited gadgets which was involving the platform logging on these devices contributing to an IllegalArgumentException.

Dima: A long time ago (whenever Dalvik got facts and skill was in examine) one dealer thought to passing a phone with ART permitted automagically. We had lots of fun with tweaking our personal obfuscation/optimisation apparatus untill the application halted crashing in arbitrary locations.

There will always be going to be small (and often large) troubles with 3rd party implementations of Android os. The best thing accomplish in case you determine something like this is exactly to get the condition with yahoo to receive a test included in the CTS (being completely compatible sample selection) that is certainly a section of the interface Program (this obviously doesn’t address the matter, but fixes they for the future).

Regrettably, there will always be supposed be compatibility troubles with 3rd party implementations, but which is the price tag you spend for a very available system.

Leading 2

dancing_dead asked “How lengthy do a full build need?”

Erik: too much time (develops can’t ever end up being quick adequate)!

Yaroslav: an entire really clean acquire requires about 5 minutes (over at my MacBook professional, 13-inch, Early 2015) and about 1 moment for horny acquire. It’s way too long, therefore we attempt to minimize the volume of instances most people managed complete builds per creator. That’s the reason we have CI which operates all reports for all of us and builds multiple software flavours somewhere in the impair.

Guillermo: In an attempt to lower our very own create opportunity, some people need explored alternate option methods. I me explored sale as a build process. This is produced by facebook or twitter to deal with many disadvantages most people begin to face nowadays — therefore appears quite interesting if it goes! It promises high speed creates, which includes tradeoffs like changing the manner in which you imagine modules and dependencies dating app for Sapiosexual. As it is just a build program, it will not create dependency addressing for you, something may be little irritating in large works. There exists a Gradle tool also known as OkBuild that claims it can treat that for yourself, creating the buckfiles and inferring many of the guidelines because of your established Gradle setup, but thus far I didn’t manage to make it work with this build:(

Even better is, you are able to publish almost anything that you are gone in Python and lift it into build. Unhealthy thing was, you have got to write a lot of things, e.g. Retrolambda incorporation. Results thus far: Buck calls for a great deal of updates inside all of our creates and our programming preferences, as well as being not yet determined that the will render into larger importance.