Frequently Asked Questions (FAQ)

Is the source code for ded publicly available?

Currently, the source code for the ded and ded-launcher binaries is not publicly available. However, we expect to make them open source by Fall 2012.

What are the terms of license for ded?

Jasmin for ded and the wrapper script are under the GPL. You may not redistribute the ded binaries (ded-0.7.1 and ded-launcher-0.7.1) but you are welcome to link to our site if necessary. If for some reason you need to redistribute ded (for example, as part of a commercial application), you need to get in touch with us to obtain a license to do so. Of course, these restrictions will change once ded is open source.

Why do I need to provide the android.jar archive?

Soot needs to be able to resolve the classes your application references. Most of these classes are defined in the android.jar archive.

Why is Soot giving me a warning about phantom references? Should I worry about it?

Android applications often refer to classes which are not defined in the android.jar archive. Since providing Soot with all class definitions is not always possible, we use Soot with the -allow-phantom-refs option. This allows Soot to proceed even if some classes cannot be resolved. The phantom references warning indicates that a class has not been resolved.
You should not worry about it, unless Soot throws an exception. If you see an exception like "Class X doesn't have method Y" or "Class X doesn't have field Y", this is due to an unresolved reference and can be fixed by providing Soot with the missing reference (simply by adding a .jar archive containing the missing class in the android-libs directory if you are using ded.sh). Also, if you get an exception saying "Trying to create interface invoke expression for non-interface type", it is likely to be fixed the same way.