Comment by flohofwoe

6 months ago

Both Gradle and CMake have a strong late 1990's smell to them. While CMake is sort of a necessary evil in the C/C++ world, there's no excuse for dragging Gradle into the NDK, combining both build tools leads to a complexity explosion that rarely works and tends to break after either the NDK or SDK is updated, or somebody merely looks the wrong way at the build files.

CMake is the defacto tool adopted by the industry, regardless how many love to hate it.

You can use BSD Make instead of Gradle, isn't UNIX great?

  • > You can use BSD Make instead of Gradle, isn't UNIX great?

    So the NDK officially supports creating an APK just with a Makefile? That would be news to me (and great news at that).

    It is possible to cobble together a build process that directly calls various Android SDK command line tools to build an APK directly from a C/C++ build tool without involving Gradle, but as far as I know, most of those invoked cmdline tools are deprecated and building APKs outside Gradle is not 'supported' by the Android SDK/NDK (e.g. it may stop working at any time).

    • No, I wasn't talking about APKs.

      The NDK supports building shared objects with Makefiles, via ndk-build.

      The original plan to deprecate ndk-build was reversed, due to the complaints.

      Pretty much official,

      https://developer.android.com/ndk/guides/build

      I also stand corrected, it is actually GNU Make, not BSD Make.