How do I manage multiple versions of Android NDK while building entire F-Droid dataset?

I am building the latest versions of the entire F-Droid dataset by running fdroid build --all --latest. The problem I am facing right now is there are several apps while builds for an NDK platform not supported by the latest NDK. I am not using a VM based build server, but building the apps on my host machine. When I set ANDROID_NDK environment variable, it can only point to only one NDK at a time. Changing the variable to point to appropriate version of the NDK each time an app build fails is impractical. Isn’t the F-Droid ecosystem designed to be built with one single command? What am I missing? How do I manage multiple versions of Android NDK such that F-Droid build system find the appropriate NDK version while building an app?

My config.py has this:

ndk_paths = {
     'r12b': "~/android/android-ndk-r12b",
     'r13b': "~/android/android-ndk-r13b",
     'r14b': "~/android/android-ndk-r14b",
     'r15c': "~/android/android-ndk-r15c",
     'r16b': "~/android/android-ndk-r16b",
     'r17c': "~/android/android-ndk-r17c",
     'r18b': "~/android/android-ndk-r18b",
     'r19c': "~/android/android-ndk-r19c",
}

My environment has

ANDROID_HOME=/home/strech/android
ANDROID_NDK=/home/strech/android/ndk-bundle

…but /home/strech/android/ndk-bundle is not an actual folder, since the paths per NDK version are used instead.

:wink:

2 Likes

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.