diff options
-rw-r--r-- | archquery/.classpath | 6 | ||||
-rw-r--r-- | archquery/.gitignore | 1 | ||||
-rw-r--r-- | archquery/.project | 17 | ||||
-rw-r--r-- | archquery/Android.mk | 17 | ||||
-rw-r--r-- | archquery/etc/manifest.txt | 1 | ||||
-rw-r--r-- | archquery/src/Android.mk | 25 | ||||
-rw-r--r-- | archquery/src/com/android/archquery/Main.java | 65 | ||||
-rwxr-xr-x | ddms/app/etc/ddms | 51 | ||||
-rw-r--r-- | ddms/app/src/Android.mk | 6 | ||||
-rw-r--r-- | ddms/libs/ddmuilib/src/Android.mk | 6 | ||||
-rw-r--r-- | screenshot/.gitignore | 1 | ||||
-rwxr-xr-x | sdkmanager/app/etc/android | 28 | ||||
-rw-r--r-- | sdkmanager/app/src/Android.mk | 7 | ||||
-rw-r--r-- | sdkmanager/libs/sdkuilib/src/Android.mk | 6 | ||||
-rw-r--r-- | sdkstats/src/Android.mk | 6 | ||||
-rwxr-xr-x | traceview/etc/traceview | 27 | ||||
-rw-r--r-- | traceview/src/Android.mk | 6 |
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) |