aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--archquery/.classpath6
-rw-r--r--archquery/.gitignore1
-rw-r--r--archquery/.project17
-rw-r--r--archquery/Android.mk17
-rw-r--r--archquery/etc/manifest.txt1
-rw-r--r--archquery/src/Android.mk25
-rw-r--r--archquery/src/com/android/archquery/Main.java65
-rwxr-xr-xddms/app/etc/ddms51
-rw-r--r--ddms/app/src/Android.mk6
-rw-r--r--ddms/libs/ddmuilib/src/Android.mk6
-rw-r--r--screenshot/.gitignore1
-rwxr-xr-xsdkmanager/app/etc/android28
-rw-r--r--sdkmanager/app/src/Android.mk7
-rw-r--r--sdkmanager/libs/sdkuilib/src/Android.mk6
-rw-r--r--sdkstats/src/Android.mk6
-rwxr-xr-xtraceview/etc/traceview27
-rw-r--r--traceview/src/Android.mk6
17 files changed, 232 insertions, 44 deletions
diff --git a/archquery/.classpath b/archquery/.classpath
new file mode 100644
index 0000000..fb50116
--- /dev/null
+++ b/archquery/.classpath
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/archquery/.gitignore b/archquery/.gitignore
new file mode 100644
index 0000000..ba077a4
--- /dev/null
+++ b/archquery/.gitignore
@@ -0,0 +1 @@
+bin
diff --git a/archquery/.project b/archquery/.project
new file mode 100644
index 0000000..9886091
--- /dev/null
+++ b/archquery/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>archquery</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/archquery/Android.mk b/archquery/Android.mk
new file mode 100644
index 0000000..53cad46
--- /dev/null
+++ b/archquery/Android.mk
@@ -0,0 +1,17 @@
+#
+# Copyright (C) 2009 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+ARCHQUERY_LOCAL_DIR := $(call my-dir)
+include $(ARCHQUERY_LOCAL_DIR)/src/Android.mk
diff --git a/archquery/etc/manifest.txt b/archquery/etc/manifest.txt
new file mode 100644
index 0000000..a362e88
--- /dev/null
+++ b/archquery/etc/manifest.txt
@@ -0,0 +1 @@
+Main-Class: com.android.archquery.Main
diff --git a/archquery/src/Android.mk b/archquery/src/Android.mk
new file mode 100644
index 0000000..980f002
--- /dev/null
+++ b/archquery/src/Android.mk
@@ -0,0 +1,25 @@
+#
+# Copyright (C) 2009 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+LOCAL_PATH := $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(call all-subdir-java-files)
+LOCAL_JAR_MANIFEST := ../etc/manifest.txt
+LOCAL_JAVA_LIBRARIES := \
+
+LOCAL_MODULE := archquery
+
+include $(BUILD_HOST_JAVA_LIBRARY)
diff --git a/archquery/src/com/android/archquery/Main.java b/archquery/src/com/android/archquery/Main.java
new file mode 100644
index 0000000..5e65ff2
--- /dev/null
+++ b/archquery/src/com/android/archquery/Main.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.archquery;
+
+/**
+ * Java command line tool to return the CPU architecture of the host java VM.
+ *
+ * The goal is to be able to launch SWT based applications (DDMS, Traceview, Android) on any
+ * type of OS.
+ *
+ * Because a 64 bit OS can run a 32 bit Virtual Machine, we need to query the VM itself to know
+ * whether it's 32 or 64 bit to detect which swt.jar it should use (it contains native libraries).
+ * Simply querying the OS is not enough.
+ *
+ * The other problem is that once a VM is launched it is impossible to change its classpath to
+ * point the VM to the correct version of swt.jar.
+ *
+ * The solution is this small command line tool, running in the VM, and returning the value of
+ * the 'os.arch' property. Based on the returned value, the script launching the SWT based
+ * applications will configure the Java VM with the path to the correct swt.jar
+ *
+ * Because different VMs return different values for 32 and 64 bit version of x86 CPUs, the program
+ * handles all the possible values and normalize the returned value.
+ *
+ * At this time, the normalized values are:
+ * x86: 32 bit x86
+ * x86_64: 64 bit x86
+ * ppc: PowerPC (WARNING: the SDK doesn't actually support this architecture).
+ *
+ *
+ */
+public final class Main {
+ public static void main(String[] args) {
+ // Values listed from http://lopica.sourceforge.net/os.html
+ String arch = System.getProperty("os.arch");
+
+ if (arch.equalsIgnoreCase("x86_64") || arch.equalsIgnoreCase("amd64")) {
+ System.out.print("x86_64");
+
+ } else if (arch.equalsIgnoreCase("x86")
+ || arch.equalsIgnoreCase("i386")
+ || arch.equalsIgnoreCase("i686")) {
+ System.out.print("x86");
+
+ } else if (arch.equalsIgnoreCase("ppc") || arch.equalsIgnoreCase("PowerPC")) {
+ System.out.print("ppc");
+ } else {
+ System.out.print(arch);
+ }
+ }
+} \ No newline at end of file
diff --git a/ddms/app/etc/ddms b/ddms/app/etc/ddms
index c63930b..e9ee6a0 100755
--- a/ddms/app/etc/ddms
+++ b/ddms/app/etc/ddms
@@ -67,29 +67,6 @@ 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"
-elif [[ `uname -s` = 'Linux' ]]; then
- # We need a 32-bit Java on Linux, because our JNI libraries are 32-bit.
- java_cmd=`which java`
-
- if [ -x "$java_cmd" ]; then
- if [[ ! `file -L "$java_cmd"` =~ "ELF 32-bit LSB executable" ]]; then
- java_cmd=""
- fi
- fi
-
- if [ ! -x "$java_cmd" ]; then
- # The default JVM is not suitable.
- # See if we can find a particular known-good JVM
- java_cmd="/usr/lib/jvm/ia32-java-6-sun/jre/bin/java"
- if [ ! -x "$java_cmd" ]; then
- PREFIX=`basename "$prog"`
- echo "$PREFIX: The default Java VM is not an ELF 32-bit LSB executable."
- echo "$PREFIX: Please do one of the following:"
- echo "$PREFIX: 1) Arrange for the default Java VM to be an ELF 32-bit LSB executable."
- echo "$PREFIX: 2) Install the ia32-sun-java6-bin package."
- exit 1
- fi
- fi
else
os_opts=
java_cmd="java"
@@ -102,6 +79,32 @@ else
jarpath="$frameworkdir/$jarfile"
fi
+# Figure out the path to the swt.jar for the current architecture.
+# if ANDROID_SWT is defined, then just use this.
+# else, if running in the Android source tree, then look for the correct swt folder in prebuilt
+# else, look for the correct swt folder in the SDK under tools/lib/
+swtpath=""
+if [ -n "$ANDROID_SWT" ]; then
+ swtpath="$ANDROID_SWT"
+else
+ vmarch=`java -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"
+ else
+ swtpath="${frameworkdir}/${vmarch}"
+ fi
+fi
+
+# Combine the swtpath and the framework dir path.
+if [ -d "$swtpath" ]; then
+ frameworkdir="${swtpath}:${frameworkdir}"
+else
+ echo "SWT folder '${swtpath}' does not exist."
+ echo "Please export ANDROID_SWT to point to the folder containing swt.jar for your platform."
+ exit 1
+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" -Djava.library.path="$libdir" -Dcom.android.ddms.bindir="$progdir" -jar "$jarpath" "$@"
+exec "$java_cmd" -Xmx256M $os_opts $java_debug -Djava.ext.dirs="$frameworkdir" -Dcom.android.ddms.bindir="$progdir" -jar "$jarpath" "$@"
diff --git a/ddms/app/src/Android.mk b/ddms/app/src/Android.mk
index a013fa6..c62b678 100644
--- a/ddms/app/src/Android.mk
+++ b/ddms/app/src/Android.mk
@@ -13,9 +13,9 @@ LOCAL_JAVA_LIBRARIES := \
ddmlib \
ddmuilib \
swt \
- org.eclipse.jface_3.2.0.I20060605-1400 \
- org.eclipse.equinox.common_3.2.0.v20060603 \
- org.eclipse.core.commands_3.2.0.I20060605-1400
+ org.eclipse.jface_3.4.2.M20090107-0800 \
+ org.eclipse.equinox.common_3.4.0.v20080421-2006 \
+ org.eclipse.core.commands_3.4.0.I20080509-2000
LOCAL_MODULE := ddms
include $(BUILD_HOST_JAVA_LIBRARY)
diff --git a/ddms/libs/ddmuilib/src/Android.mk b/ddms/libs/ddmuilib/src/Android.mk
index acbda44..68ceac1 100644
--- a/ddms/libs/ddmuilib/src/Android.mk
+++ b/ddms/libs/ddmuilib/src/Android.mk
@@ -9,9 +9,9 @@ LOCAL_JAVA_RESOURCE_DIRS := resources
LOCAL_JAVA_LIBRARIES := \
ddmlib \
swt \
- org.eclipse.jface_3.2.0.I20060605-1400 \
- org.eclipse.equinox.common_3.2.0.v20060603 \
- org.eclipse.core.commands_3.2.0.I20060605-1400 \
+ org.eclipse.jface_3.4.2.M20090107-0800 \
+ org.eclipse.equinox.common_3.4.0.v20080421-2006 \
+ org.eclipse.core.commands_3.4.0.I20080509-2000 \
jcommon-1.0.12 \
jfreechart-1.0.9 \
jfreechart-1.0.9-swt
diff --git a/screenshot/.gitignore b/screenshot/.gitignore
new file mode 100644
index 0000000..ba077a4
--- /dev/null
+++ b/screenshot/.gitignore
@@ -0,0 +1 @@
+bin
diff --git a/sdkmanager/app/etc/android b/sdkmanager/app/etc/android
index af4042b..ee21b0e 100755
--- a/sdkmanager/app/etc/android
+++ b/sdkmanager/app/etc/android
@@ -79,6 +79,32 @@ else
jarpath="$frameworkdir/$jarfile"
fi
+# Figure out the path to the swt.jar for the current architecture.
+# if ANDROID_SWT is defined, then just use this.
+# else, if running in the Android source tree, then look for the correct swt folder in prebuilt
+# else, look for the correct swt folder in the SDK under tools/lib/
+swtpath=""
+if [ -n "$ANDROID_SWT" ]; then
+ swtpath="$ANDROID_SWT"
+else
+ vmarch=`java -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"
+ else
+ swtpath="${frameworkdir}/${vmarch}"
+ fi
+fi
+
+# Combine the swtpath and the framework dir path.
+if [ -d "$swtpath" ]; then
+ frameworkdir="${swtpath}:${frameworkdir}"
+else
+ echo "SWT folder '${swtpath}' does not exist."
+ echo "Please export ANDROID_SWT to point to the folder containing swt.jar for your platform."
+ exit 1
+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" -Djava.library.path="$libdir" -Dcom.android.sdkmanager.toolsdir="$progdir" -jar "$jarpath" "$@"
+exec "$java_cmd" -Xmx256M $os_opts $java_debug -Djava.ext.dirs="$frameworkdir" -Dcom.android.sdkmanager.toolsdir="$progdir" -jar "$jarpath" "$@"
diff --git a/sdkmanager/app/src/Android.mk b/sdkmanager/app/src/Android.mk
index 6346349..b67bf6a 100644
--- a/sdkmanager/app/src/Android.mk
+++ b/sdkmanager/app/src/Android.mk
@@ -11,9 +11,10 @@ LOCAL_JAVA_LIBRARIES := \
sdklib \
sdkuilib \
swt \
- org.eclipse.jface_3.2.0.I20060605-1400 \
- org.eclipse.equinox.common_3.2.0.v20060603 \
- org.eclipse.core.commands_3.2.0.I20060605-1400
+ org.eclipse.jface_3.4.2.M20090107-0800 \
+ org.eclipse.equinox.common_3.4.0.v20080421-2006 \
+ org.eclipse.core.commands_3.4.0.I20080509-2000
+
LOCAL_MODULE := sdkmanager
include $(BUILD_HOST_JAVA_LIBRARY)
diff --git a/sdkmanager/libs/sdkuilib/src/Android.mk b/sdkmanager/libs/sdkuilib/src/Android.mk
index 2d3c774..357a60d 100644
--- a/sdkmanager/libs/sdkuilib/src/Android.mk
+++ b/sdkmanager/libs/sdkuilib/src/Android.mk
@@ -11,9 +11,9 @@ LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_JAVA_LIBRARIES := \
sdklib \
swt \
- org.eclipse.jface_3.2.0.I20060605-1400 \
- org.eclipse.equinox.common_3.2.0.v20060603 \
- org.eclipse.core.commands_3.2.0.I20060605-1400
+ org.eclipse.jface_3.4.2.M20090107-0800 \
+ org.eclipse.equinox.common_3.4.0.v20080421-2006 \
+ org.eclipse.core.commands_3.4.0.I20080509-2000
LOCAL_MODULE := sdkuilib
diff --git a/sdkstats/src/Android.mk b/sdkstats/src/Android.mk
index bff43f3..e95e67a 100644
--- a/sdkstats/src/Android.mk
+++ b/sdkstats/src/Android.mk
@@ -7,9 +7,9 @@ LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_JAVA_LIBRARIES := \
androidprefs \
swt \
- org.eclipse.jface_3.2.0.I20060605-1400 \
- org.eclipse.equinox.common_3.2.0.v20060603 \
- org.eclipse.core.commands_3.2.0.I20060605-1400
+ org.eclipse.jface_3.4.2.M20090107-0800 \
+ org.eclipse.equinox.common_3.4.0.v20080421-2006 \
+ org.eclipse.core.commands_3.4.0.I20080509-2000
LOCAL_MODULE := sdkstats
include $(BUILD_HOST_JAVA_LIBRARY)
diff --git a/traceview/etc/traceview b/traceview/etc/traceview
index 1cc913d..fc7d8c0 100755
--- a/traceview/etc/traceview
+++ b/traceview/etc/traceview
@@ -97,5 +97,30 @@ else
jarpath="$frameworkdir/$jarfile"
fi
+# Figure out the path to the swt.jar for the current architecture.
+# if ANDROID_SWT is defined, then just use this.
+# else, if running in the Android source tree, then look for the correct swt folder in prebuilt
+# else, look for the correct swt folder in the SDK under tools/lib/
+swtpath=""
+if [ -n "$ANDROID_SWT" ]; then
+ swtpath="$ANDROID_SWT"
+else
+ vmarch=`java -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"
+ else
+ swtpath="${frameworkdir}/${vmarch}"
+ fi
+fi
+
+# Combine the swtpath and the framework dir path.
+if [ -d "$swtpath" ]; then
+ frameworkdir="${swtpath}:${frameworkdir}"
+else
+ echo "SWT folder '${swtpath}' does not exist."
+ echo "Please export ANDROID_SWT to point to the folder containing swt.jar for your platform."
+ exit 1
+fi
-exec "$javaCmd" $javaOpts -Djava.ext.dirs="$frameworkdir" -Djava.library.path="$libdir" -jar "$jarpath" "$@"
+exec "$javaCmd" $javaOpts -Djava.ext.dirs="$frameworkdir" -jar "$jarpath" "$@"
diff --git a/traceview/src/Android.mk b/traceview/src/Android.mk
index 7a006de..fd901f1 100644
--- a/traceview/src/Android.mk
+++ b/traceview/src/Android.mk
@@ -11,9 +11,9 @@ LOCAL_JAVA_LIBRARIES := \
androidprefs \
sdkstats \
swt \
- org.eclipse.jface_3.2.0.I20060605-1400 \
- org.eclipse.equinox.common_3.2.0.v20060603 \
- org.eclipse.core.commands_3.2.0.I20060605-1400
+ org.eclipse.jface_3.4.2.M20090107-0800 \
+ org.eclipse.equinox.common_3.4.0.v20080421-2006 \
+ org.eclipse.core.commands_3.4.0.I20080509-2000
LOCAL_MODULE := traceview
include $(BUILD_HOST_JAVA_LIBRARY)