Not sure this is a bug but this problem turned up right after switching to B4A v9:
This happens when I call a module that has been precompiled in B4A using "compile to library".
B4X:
Convert byte code - optimized dex. Error
Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/compat/R;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/compat/R$attr;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/compat/R$color;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/compat/R$dimen;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/compat/R$drawable;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/compat/R$id;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/compat/R$integer;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/compat/R$layout;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Landroid/support/compat/R$string;
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.RuntimeException: Translation has been interrupted
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:696)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:315)
at com.android.dx.command.dexer.Main.runDx(Main.java:293)
at com.android.dx.command.dexer.Main.main(Main.java:249)
at com.android.dx.command.Main.main(Main.java:94)
Caused by: java.lang.InterruptedException: Too many errors
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:688)
... 4 more