archquery is used to figure out whether the VM is 32 or 64 bit, but on MacOS X, it used the normal "java" command while the application was forced to use java 1.5 This could lead to cases where archquery ran in 1.6 64bit but the app in 1.5 32 bit, creating a mismatch and make the app using the wrong SWT version.
Using the Eclipse projects for ddms. ddms requires SWT to compile. SWT is available in the depot under //device/prebuild/<platform>/swt Because the build path cannot contain relative path that are not inside the project directory, the .classpath file references a user library called ANDROID_SWT. In order to compile the project, make a user library called ANDROID_SWT containing the jar available at //device/prebuild/<platform>/swt.