I think they just don't want the NDK to exist if possible, code with pointers isn't for you to write.
Conversation
Replying to
This to me says "they don't want cross platform software" and who on earth is going to write Android-exclusive software
1
3
Also as an interesting piece of trivia, I am actually targeting a non-phone hardware platform which chose to use Android as its base but which does not run conventional Android apps and does not, in fact, appear to support Java at all
But still uses the Android/Java build system
1
9
The funny part about it is that Android SDK/NDK build system isn't what's used by Android itself. Android itself is busy replacing a far superior build system to the one they make app developers use with a better one, after previously going through a past replacement like that.
2
1
Whenever I ask why a particular weird piece of Google tooling is the way it is, the answer seems to be "well internally they use Blaze, but that's internal, so they made an external OSS tool which implements a subset of Blaze. ... another one"
1
1
gradle isn't the kind of thing they'd build though. They just made a plugin for it. The Android build system itself may not be as wonderful as Bazel would have been but it's actually the nicest build system that I've used overall. gradle could actually be the worst.
2
1
It has made my last three years very unhappy, and now trying to factor it out of our system is also making me unhappy but for different reasons.
1
I barely deal with gradle and it makes me unhappy. It's ridiculously complex and every 6 months it has become completely different. I don't like Groovy either, but I don't want to learn how Kotlin gradle works since it's a waste of space in my brain.
1
Any build system using a programming language instead of being entirely declarative with a simple DSL and rarely used escape hatches for cases you need more just makes me sad. It's all too complicated. Android.bp I actually like. The internal Android.mk was fine too.
1
I want to some degree a programming language, but the thing that just absolutely kills me about Gradle is that the vast majority of errors are completely silent.
1
I really like having a declarative DSL with basic conditionals, etc. where if really needed there is some escape hatch with an actual programming language like Go or whatever rather than dealing with the horrifying build system programming languages.
Gradle is theoretically an actual programming language (Groovy) but it's an overly permissive / free form one with dynamic typing and they turned it into an incomprehensible DSL with a ridiculously complex system for doing everything that makes no sense at all to humans.
2
Google's involvement is making that magical Android gradle plugin dealing with everything for you. It's part of the incomprehensible gradle world though, where everything is seemingly just supposed to magically work and you're screwed if it doesn't actually do that.
1
1
Show replies
There's a thing which has gradually captivated me about CMake, which is that it is a combination declarative/imperative thing where it runs one pass running a implistic programming language, that pass builds a data structure, then the data structure is declaratively interpreted
1
1
So it's quite bad and confusing that this is not made clear when you're writing CMake "code" (they try to hide the imperative-ness, but they do not succeed) but if it were *intentionally* this way, it would be quite useful and powerful.
1
Show replies


