38

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?

CorayThan
  • 17,174
  • 28
  • 113
  • 161
  • `ANDROID_HOME` is usually something like `$HOME/.android`. It is for your local settings, like you Android developer keys. It does not make sense to point it to the SDK directory. The SDK directory is often not writable because it is located at `/opt/android-sdk` or similar. – jww Dec 09 '18 at 19:21

1 Answers1

17

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

paulsm4
  • 114,292
  • 17
  • 138
  • 190