I've an Android app in Android Studio. I'm using Gradle Version = 4.6, Android Plugin Version=3.2.1.. It has a app module (main) and a library module. 
I renamed one of the class function in library module. After cleaning and building the library module followed by the app module, I'm getting this error in the app module: error: cannot find symbol to the renamed class function
Below is my build.gradle(app):
android {
...
}
dependencies {
...
  releaseImplementation 'com.example.library:1.0.0'
  debugImplementation project(':library')
}
If I changed the build.gradle to the one below, then everything is ok.
android {
}
dependencies {
...
  implementation project(':library')
}
I would like to know the differences between implementation, releaseImplementation and debugImplementation, and how can I use it in my situation.