First of all, I face this issue in Android Studio 4.2.2 and you not need to downgrade the SDK build tool 31 to 30 or not to change compile SDK version.
The main problem is the two files missing in SDK build tool 31 that are
dx.bat
dx.jar
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.
For Windows
go to the location
"C:UsersuserAppDataLocalAndroidSdkuild-tools31.0.0"
find a file named d8.bat. This is a Windows batch file.
rename d8.bat to dx.bat.
in the folder lib ("C:UsersuserAppDataLocalAndroidSdkuild-tools31.0.0lib")
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...