ollide/intellij-java2smali

dx errors don't interrupt plugin execution

ollide opened this issue · 1 comments

While discussing #24 it became apparent that the plugin currently won't interrupt its execution when dx encounters an error.

Quote from #24

I was able to reproduce your findings and you're right with the cached result that is being used by java2smali.

The plugin operates in 3 sequential steps:

  1. Trigger a module/project build for the given file (here, IDEA compiles the .java file into one or multiple .class file)
  2. Run dx.jar to transform the .class file(s) into a .dex file
  3. Run baksmali to transform the .dex file into the final .smali file

Step 1 fails, if IDEA is unable to compile the project / module. Step 3 fails whenever there's no dex file available from step 2 (this is the error from your first message). Unfortunately step 2 seems to fail silently, so baksmali may run on a previously emitted .dex file instead of throwing an error.

The goal here is to not fail silently and to stop the plugin execution properly.

Fixed in bcc4082

java2smali-dx-error