Error: Dx execution failed

i am making a virtual assistant app but i am getting this error
Voice_Assistant_by_Lakshay (1).aia (1.0 MB)

Hello Lakshay

Well, where to start? Firstly, you have a number of extensions - it is possible that one of those has the same JAR (Java class name) as one of the others, which is not permitted by Google. To find out if that is the cause of build failure, you will have to remove one extension (save it's related Blocks in the Backpack first) then try a Build. If the Build fails, bring the Blocks back from the Backpack and try again with the next extension.....and so on.

There are other reasons for DX failure: Carefully go through my Checklist:
ProfessorCad: Tips & Tricks Cannot Build/Install/Run APK

Note that there are two Blocks warning flags - they should be fixed before trying to build.

Running in Companion we see this error:
java.lang.NoSuchMethodError: No direct method (Lcom/yash/weather/Weather;Ljava/lang/String;)V in class Lc; or its super classes (declaration of 'c' appears in /storage/emulated/0/Android/data/edu.mit.appinventor.aicompanion3/files/assets/external_comps/com.puravidaapps.TaifunPM/com.puravidaapps.TaifunPM.jar)
Note: You will not see another error reported for 5 seconds.

Also, the code could be much more efficient, using less blocks.

  1. Four instances of Speech recogniser? The User can't say four different things at the same time, you only need one recogniser.
  2. Day Name:
    DayName
1 Like

Also, your HTML file is called from media (assets) but it isn't there.

You should not need a Delay in App Inventor Code, but you have three Procedures creating delays? Let's say you actually have a legitimate need for those various delays and the way they are accomplished - you only need one Procedure that takes the length of the delay as it's argument.

Delay

In the TextToSpeech After Speaking Block, there are words like "hi" being tested in Maths Blocks. Also, most of the tests compare words with 'global results' and not the TestToSpeech result, so you could have a static Blocks List of those words and test them within a simple loop (The List can be dynamically updated too).

For example (Edited to play .gif file):
UseListAndLoop.aia (791.5 KB)