First of all, I faced this issue in Android Studio 4.2.2 and you do not need to downgrade the SDK build tool from 31 to 30 or change compile SDK version.
The main problem is the two files missing in SDK build tool 31 that are:
The solution is that these files are named d8 in the file location so changing their name to dx will solve the error.
The steps are below.
go to the location
find a file named d8.bat. This is a Windows batch file.
rename d8.bat to dx.bat.
in the folder lib ("C:\Users\user\AppData\Local\Android\Sdk\build-tools\31.0.0\lib")
rename d8.jar to dx.jar
Remember AppData is a hidden folder. Turn on hidden items to see the AppData folder.
For macOS or Linux
# change below to your Android SDK path cd ~/Library/Android/sdk/build-tools/31.0.0 \ && mv d8 dx \ && cd lib \ && mv d8.jar dx.jar
Now run your project.