From f92c16e28748ac6953f2b959e8db0ecb919552db Mon Sep 17 00:00:00 2001 From: Xavier Ducrohet Date: Thu, 24 Sep 2009 12:16:03 -0700 Subject: [PATCH] Make archquery use the same VM as DDMS/Traceview 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. --- tools/ddms/app/etc/ddms | 16 +++++----------- tools/traceview/etc/traceview | 15 +++++---------- 2 files changed, 10 insertions(+), 21 deletions(-) diff --git a/tools/ddms/app/etc/ddms b/tools/ddms/app/etc/ddms index e9ee6a03e..873f19e94 100755 --- a/tools/ddms/app/etc/ddms +++ b/tools/ddms/app/etc/ddms @@ -62,22 +62,16 @@ else java_debug= fi +javaCmd="java" + # Mac OS X needs an additional arg, or you get an "illegal thread" complaint. if [ `uname` = "Darwin" ]; then os_opts="-XstartOnFirstThread" - #because Java 1.6 is 64 bits only and SWT doesn't support this, we force the usage of java 1.5 - java_cmd="/System/Library/Frameworks/JavaVM.framework/Versions/1.5/Commands/java" else os_opts= - java_cmd="java" fi -if [ "$OSTYPE" = "cygwin" ] ; then - jarpath=`cygpath -w "$frameworkdir/$jarfile"` - progdir=`cygpath -w "$progdir"` -else - jarpath="$frameworkdir/$jarfile" -fi +jarpath="$frameworkdir/$jarfile" # Figure out the path to the swt.jar for the current architecture. # if ANDROID_SWT is defined, then just use this. @@ -87,7 +81,7 @@ swtpath="" if [ -n "$ANDROID_SWT" ]; then swtpath="$ANDROID_SWT" else - vmarch=`java -jar "${frameworkdir}"/archquery.jar` + vmarch=`${javaCmd} -jar "${frameworkdir}"/archquery.jar` if [ -n "$ANDROID_BUILD_TOP" ]; then osname=`uname -s | tr A-Z a-z` swtpath="${ANDROID_BUILD_TOP}/prebuilt/${osname}-${vmarch}/swt" @@ -107,4 +101,4 @@ fi # need to use "java.ext.dirs" because "-jar" causes classpath to be ignored # might need more memory, e.g. -Xmx128M -exec "$java_cmd" -Xmx256M $os_opts $java_debug -Djava.ext.dirs="$frameworkdir" -Dcom.android.ddms.bindir="$progdir" -jar "$jarpath" "$@" +exec "$javaCmd" -Xmx256M $os_opts $java_debug -Djava.ext.dirs="$frameworkdir" -Dcom.android.ddms.bindir="$progdir" -jar "$jarpath" "$@" diff --git a/tools/traceview/etc/traceview b/tools/traceview/etc/traceview index fc7d8c025..8f52e7742 100755 --- a/tools/traceview/etc/traceview +++ b/tools/traceview/etc/traceview @@ -75,13 +75,13 @@ then exit 1 fi +javaCmd="java" + os=`uname` if [ $os == 'Darwin' ]; then javaOpts="-Xmx1600M -XstartOnFirstThread" - javaCmd="/System/Library/Frameworks/JavaVM.framework/Versions/1.5/Commands/java" else javaOpts="-Xmx1600M" - javaCmd="java" fi while expr "x$1" : 'x-J' >/dev/null; do @@ -90,12 +90,7 @@ while expr "x$1" : 'x-J' >/dev/null; do shift done -if [ "$OSTYPE" = "cygwin" ] ; then - jarpath=`cygpath -w "$frameworkdir/$jarfile"` - progdir=`cygpath -w "$progdir"` -else - jarpath="$frameworkdir/$jarfile" -fi +jarpath="$frameworkdir/$jarfile" # Figure out the path to the swt.jar for the current architecture. # if ANDROID_SWT is defined, then just use this. @@ -105,7 +100,7 @@ swtpath="" if [ -n "$ANDROID_SWT" ]; then swtpath="$ANDROID_SWT" else - vmarch=`java -jar "${frameworkdir}"/archquery.jar` + vmarch=`${javaCmd} -jar "${frameworkdir}"/archquery.jar` if [ -n "$ANDROID_BUILD_TOP" ]; then osname=`uname -s | tr A-Z a-z` swtpath="${ANDROID_BUILD_TOP}/prebuilt/${osname}-${vmarch}/swt" @@ -123,4 +118,4 @@ else exit 1 fi -exec "$javaCmd" $javaOpts -Djava.ext.dirs="$frameworkdir" -jar "$jarpath" "$@" +exec "${javaCmd}" $javaOpts -Djava.ext.dirs="$frameworkdir" -jar "$jarpath" "$@"