En muchos blogs, encontrarás que la solución es degradar a la API 30, sin embargo, si deseas experimentar con la API 31, la degradación no es una solución real. Afortunadamente, hay una manera de hacer que las herramientas de compilación funcionen para API 31. La causa de la corrupción de las herramientas de compilación para API 31 son 2 archivos faltantes:
- dx.bat
- dx.jar
Sin embargo, estos archivos existen con otro nombre, especificamente:
- d8.bat
- d8.jar
Entonces, la solución para evitar que aparezca esta excepción es copiar los archivos mencionados que existen con los nuevos nombres o crear un enlace simbólico (acceso directo en Windows) y funcionará mágicamente . Esto funcionará en todos los sistemas operativos, sin embargo la forma de hacerlo dependerá de cada plataforma.
Windows
Puedes hacer esto manualmente o con el símbolo del sistema, para crear el enlace simbólico para dx.bat
(recuerda reemplazar el directorio SDK con el suyo):
mklink C:\Users\username\AppData\Local\Android\Sdk\build-tools\31.0.0\dx.bat C:\Users\username\AppData\Local\Android\Sdk\build-tools\31.0.0\d8.bat
Y el comando para crear el enlace simbólico para dx.jar
:
mklink C:\Users\username\AppData\Local\Android\Sdk\build-tools\31.0.0\lib\dx.jar C:\Users\username\AppData\Local\Android\Sdk\build-tools\31.0.0\lib\d8.jar
Después de copiar y cambiar el nombre de los archivos mencionados o ejecutar los comandos anteriores para crear los enlaces simbólicos (accesos directos), tendrás 2 nuevos archivos en el directorio build-tools
y build-tools/lib
:
MacOS and Linux
Si estás utilizando MacOS o Linux, ejecutar el siguiente comando en la terminal hará el truco (cambia al directorio de herramientas de compilación y luego mueve d8 a dx y d8.jar a dx.jar):
cd ~/Library/Android/sdk/build-tools/31.0.0 && mv d8 dx && cd lib && mv d8.jar dx.jar
¡Intenta construir tu proyecto en Android Studio una vez más y la excepción no debería aparecer más!
Que te diviertas ❤️!
Conviertete en un programador más sociable