This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Android nRF Mesh SDK Version Issues

Hello,

I am developing an app for Android using the Android-nRF-Mesh Library, available here: https://github.com/NordicSemiconductor/Android-nRF-Mesh-Library

According to the readme, "nRF Mesh for Android is supported on Android devices running Android 4.3 and onwards."

I would assume this would mean the library is supposed to be compatible with Android API Version 18, which corresponds to Android 4.3. This is the minimum version I am targeting in my application.

However, when I added both the Android BLE Library, a recommended dependency mentioned on the Android-nRF-Mesh readme, https://github.com/NordicSemiconductor/Android-BLE-Library/, as well as the Android nRF Mesh Library to my project, and attempt to build, I get an error in Android Studio.

"Default interface methods are only supported starting with Android N (--min-api 24)."

Okay, so I went through the code and removed the defaults and moved the implementation to the class that extends the interface. Problem fixed.

After that, I now get a pretty ambiguous error "Invoke-customs are only supported starting with Android O (--min-api 26)"

Unlike the errors about the default methods, there is mention of where the offending bit of code is. 

The library and app is supposed to be compatible with Android 4.3, correct? I'd really like to target this and not have to target such a high version of Android that many people may not be running. Any help resolving this API compatibility error would be appreciated.

Thanks

Related