I don't know what it does. But I would like to share my experience that is worth to know.
I was having one Android Studio project in which I was managing two projects through buildTypes
(Lets name them project A and B).
I was previously working with project A. Now I need to work on project B. So I made necessary changes and implemented the functionality. My next task was to generate the signed APK. I generated the signed APK with the keystore of appropriate project that is project B.
But the generated signed APK was showing the SHA1 of the keystore of project A. and Google play store was not allowing me to upload the apk with different keystore. I checked it 5 to 6 times and generated signed APK and failed every time.
After 3 to 4 hours I gave one try to clean project as any other solution was not working for me and Voila now it signed the apk with correct keystore.
So clean and rebuild the project before generating the signed APK is a best practice mainly If you are working with different buildTypes