Adding to kapep's answer, you should know some bleeding-edge Android features sometimes provide bad java reference generation from XML-file references, like IDs in R.java and other sources in gen/.
I had this happen to me when using xml/headers.xml for interfacing my PreferenceActivity and custom PreferenceFragments, with "android:fragment" referencing the later ones (the ONLY reference in the ENTIRE project). Proguard just excluded them since no gen/*.java reference was being created properly. Android build tools basically uses the files kept after an Eclipse build, and these DO NOT SEEM TO INCLUDE "android:fragment" references, so the custom classes are detected never to be used by the OS at runtime and proguard just deletes them. I believe an ADT bug might be the culprit on this bad reference-generation.
Long story short - use "-keep packagename.** { *; }" on proguard configuration whenever you want to debug this problem's root cause. If it gets solved, you can either try updating ADT, cleaning the project to re-trigger gen/ creation, and packaging without -keep. If still fails, just leave the -keep directive and never think about it again.