Q:

Amazon's Knowledge of Submitted apk's

How does Amazon know certain things about my Android app? 
For example, they were able to determine that it blocked the UI and declined it for that reason. How did they ascertain it was blocking and is there software available for me to check this? I ask because I have a fairly large app and want to pinpoint where this is occurring, as I thought I was careful when invoking UI changes.

Amazon Says...
  Your application attempts to call an Android Activity lifecycle method on a background thread. Amazon DRM does not allow developers to invoke Android Activity lifecycle methods on background threads. For more information on processes and threads, please visit: http://developer.android.com/guide/topics/fundamentals/processes-and-threads.html. Additionally, the Android UI toolkit is not thread-safe. So, you must not manipulate your UI from a worker thread — you must do all manipulation to your user interface from the UI thread. There are two rules to Android's single thread model: * Do not block the UI thread. * Do not access the Android UI toolkit from outside the UI thread.

A:

Update:
I speculate (as you request :)) that they use a miriad of tools and scripts to execute your submitted app in lots of permutations of API Level, Screen Size, etc.
Some tools they may use:

Android Emulator (emulator)
DDMS
Profiling with Traceview and dmtracedump
Hierarchy Viewer
hprof-conv
Monkey and monkeyrunner
traceview

