The issue
Today, I need to build a new Ionic project to an Android APK file but stucked at this error
Build-tool 33.0.1 is missing DX at /Users/user/Library/Android/sdk/build-tools/33.0.1/dx
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.
> Installed Build Tools revision 33.0.1 is corrupted. Remove and install again using the SDK Manager.
I do follow the guide, open Android Studio, go to SDK Manager and then re-install the Build Tools 33.0.1 (latest at this time) but have no luck :( - the issue still happend…
After spent a half day to find and try many solutions from the Google search results. Finally, I could fix this issue by just simply renaming 2 files! The command ionic cordova build android
is just working perfectly again for me.
You could get the solution below, I keep all the content from the original article that I found on Stackoverflow.
Solution
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:
- 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:\Users\user\AppData\Local\Android\Sdk\build-tools\31.0.0"
-
find a file named d8.bat. This is a Windows batch file.
-
rename
d8.bat
todx.bat
. -
in the folder lib
("C:\Users\user\AppData\Local\Android\Sdk\build-tools\31.0.0\lib")
- rename
d8.jar
todx.jar
Remember AppData
is a hidden folder. Turn on hidden items to see the AppData folder.
For macOS or Linux
Run the following in the Terminal:
# 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.
Remember to replace the above path (included build tool version) with your correct path.