Getting warning "NDK is missing a 'platforms" directory.' with no NDK

CorayThan picture CorayThan · Jun 23, 2017 · Viewed 61.1k times · Source

I've got a project that only uses the Android SDK, not the NDK, but I'm getting warnings whenever I build with gradle about the NDK:

NDK is missing a "platforms" directory. If you are using NDK, verify the ndk.dir is set to a valid NDK directory. It is currently set to /usr/local/opt/android-sdk/ndk-bundle. If you are not using NDK, unset the NDK variable from ANDROID_NDK_HOME or local.properties to remove this warning.

Seems like a pretty clear warning. I'm not using the ndk, so there is no ndk-bundle in my android-sdk. The issue is that I don't have an ANDROID_NDK_HOME set, and my local.properties file (which appears to be generated by Android Studio) doesn't set the NDK:

sdk.dir=/usr/local/opt/android-sdk

I do have an ANDROID_HOME environment variable:

ANDROID_HOME=/usr/local/opt/android-sdk

System is a mac, but we seem to get the same issue in Docker. Anyone know how to get rid of this warning?

Answer

paulsm4 picture paulsm4 · Jun 23, 2017

Please refer to these two links:

This is caused by upgrading to Android gradle plugin 2.3 (com.android.tools.build:gradle:2.3.0).

In previous versions of the plugin the databinding package name (where the BR file is generated) was provided on an annotation in a generate file. In the new version it's passed as a annotation processor option which is now handled.

An updated version will be available soon, a temporary workaround is to simply use the previous android gradle plugin 2.2.2