OSDN Git Service

Fix DDMS and HierarchyViewer .bat files on Windows
authorRaphael Moll <ralf@android.com>
Wed, 15 Dec 2010 20:51:26 +0000 (12:51 -0800)
committerRaphael Moll <ralf@android.com>
Wed, 15 Dec 2010 20:54:00 +0000 (12:54 -0800)
These were not setting the "bin dir" properpty correctly,
and as a consequence the tools complain they can't find adb.exe.

The fix is to set it to the directory of the script but to
avoid spaces-in-path issues we use the "~fs" modifier to get
a space-free short name for the %cd% value. And since we can't
use use %cd% combined with ~fs, we use a for loop trick to set it.

Note that ddms.bat was in unix end-of-line mode so I changed it
back to DOS end-of-line mode.

Change-Id: Ic9e55643b551898043add27c12193a0949f40bb0

ddms/app/etc/ddms.bat
hierarchyviewer2/app/etc/hierarchyviewer.bat

index 86fe1d6..0b02cb3 100755 (executable)
@@ -1,69 +1,72 @@
-@echo off
-rem Copyright (C) 2007 The Android Open Source Project
-rem
-rem Licensed under the Apache License, Version 2.0 (the "License");
-rem you may not use this file except in compliance with the License.
-rem You may obtain a copy of the License at
-rem
-rem      http://www.apache.org/licenses/LICENSE-2.0
-rem
-rem Unless required by applicable law or agreed to in writing, software
-rem distributed under the License is distributed on an "AS IS" BASIS,
-rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-rem See the License for the specific language governing permissions and
-rem limitations under the License.
-
-rem don't modify the caller's environment
-setlocal
-
-rem Set up prog to be the path of this script, including following symlinks,
-rem and set up progdir to be the fully-qualified pathname of its directory.
-set prog=%~f0
-
-rem Change current directory and drive to where the script is, to avoid
-rem issues with directories containing whitespaces.
-cd /d %~dp0
-
-rem Check we have a valid Java.exe in the path.
-set java_exe=
-call lib\find_java.bat
-if not defined java_exe goto :EOF
-
-set jarfile=ddms.jar
-set frameworkdir=
-
-if exist %frameworkdir%%jarfile% goto JarFileOk
-    set frameworkdir=lib\
-
-if exist %frameworkdir%%jarfile% goto JarFileOk
-    set frameworkdir=..\framework\
-
-:JarFileOk
-
-if debug NEQ "%1" goto NoDebug
-    set java_debug=-agentlib:jdwp=transport=dt_socket,server=y,address=8050,suspend=y
-    shift 1
-:NoDebug
-
-set jarpath=%frameworkdir%%jarfile%
-
-if not defined ANDROID_SWT goto QueryArch
-    set swt_path=%ANDROID_SWT%
-    goto SwtDone
-
-:QueryArch
-
-    for /f %%a in ('%java_exe% -jar %frameworkdir%archquery.jar') do set swt_path=%frameworkdir%%%a
-
-:SwtDone
-
-if exist %swt_path% goto SetPath
-    echo SWT folder '%swt_path%' does not exist.
-    echo Please set ANDROID_SWT to point to the folder containing swt.jar for your platform.
-    exit /B
-
-:SetPath
-set javaextdirs=%swt_path%;%frameworkdir%
-
-call %java_exe% %java_debug% -Dcom.android.ddms.bindir= -classpath "%jarpath%;%swt_path%\swt.jar" com.android.ddms.Main %*
-
+@echo off\r
+rem Copyright (C) 2007 The Android Open Source Project\r
+rem\r
+rem Licensed under the Apache License, Version 2.0 (the "License");\r
+rem you may not use this file except in compliance with the License.\r
+rem You may obtain a copy of the License at\r
+rem\r
+rem      http://www.apache.org/licenses/LICENSE-2.0\r
+rem\r
+rem Unless required by applicable law or agreed to in writing, software\r
+rem distributed under the License is distributed on an "AS IS" BASIS,\r
+rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+rem See the License for the specific language governing permissions and\r
+rem limitations under the License.\r
+\r
+rem don't modify the caller's environment\r
+setlocal\r
+\r
+rem Set up prog to be the path of this script, including following symlinks,\r
+rem and set up progdir to be the fully-qualified pathname of its directory.\r
+set prog=%~f0\r
+\r
+rem Change current directory and drive to where the script is, to avoid\r
+rem issues with directories containing whitespaces.\r
+cd /d %~dp0\r
+\r
+rem Get the CWD as a full path with short names only (without spaces)\r
+for %%i in ("%cd%") do set prog_dir=%%~fsi\r
+\r
+rem Check we have a valid Java.exe in the path.\r
+set java_exe=\r
+call lib\find_java.bat\r
+if not defined java_exe goto :EOF\r
+\r
+set jarfile=ddms.jar\r
+set frameworkdir=\r
+\r
+if exist %frameworkdir%%jarfile% goto JarFileOk\r
+    set frameworkdir=lib\\r
+\r
+if exist %frameworkdir%%jarfile% goto JarFileOk\r
+    set frameworkdir=..\framework\\r
+\r
+:JarFileOk\r
+\r
+if debug NEQ "%1" goto NoDebug\r
+    set java_debug=-agentlib:jdwp=transport=dt_socket,server=y,address=8050,suspend=y\r
+    shift 1\r
+:NoDebug\r
+\r
+set jarpath=%frameworkdir%%jarfile%\r
+\r
+if not defined ANDROID_SWT goto QueryArch\r
+    set swt_path=%ANDROID_SWT%\r
+    goto SwtDone\r
+\r
+:QueryArch\r
+\r
+    for /f %%a in ('%java_exe% -jar %frameworkdir%archquery.jar') do set swt_path=%frameworkdir%%%a\r
+\r
+:SwtDone\r
+\r
+if exist %swt_path% goto SetPath\r
+    echo SWT folder '%swt_path%' does not exist.\r
+    echo Please set ANDROID_SWT to point to the folder containing swt.jar for your platform.\r
+    exit /B\r
+\r
+:SetPath\r
+set javaextdirs=%swt_path%;%frameworkdir%\r
+\r
+call %java_exe% %java_debug% -Dcom.android.ddms.bindir=%prog_dir% -classpath "%jarpath%;%swt_path%\swt.jar" com.android.ddms.Main %*\r
+\r
index 9edf96a..0876d2f 100755 (executable)
@@ -24,6 +24,9 @@ rem Change current directory and drive to where the script is, to avoid
 rem issues with directories containing whitespaces.\r
 cd /d %~dp0\r
 \r
+rem Get the CWD as a full path with short names only (without spaces)\r
+for %%i in ("%cd%") do set prog_dir=%%~fsi\r
+\r
 rem Check we have a valid Java.exe in the path.\r
 set java_exe=\r
 call lib\find_java.bat\r
@@ -65,6 +68,6 @@ if exist %swt_path% goto SetPath
 \r
 :SetPath\r
 \r
-call %java_exe% %java_debug% -Xmx512m -Dcom.android.hierarchyviewer.bindir= -classpath "%jarpath%;%swt_path%\swt.jar" com.android.hierarchyviewer.HierarchyViewerApplication %*\r
+call %java_exe% %java_debug% -Xmx512m -Dcom.android.hierarchyviewer.bindir=%prog_dir% -classpath "%jarpath%;%swt_path%\swt.jar" com.android.hierarchyviewer.HierarchyViewerApplication %*\r
 \r
 \r