xref: /aosp_15_r20/prebuilts/devtools/tools/hierarchyviewer.bat (revision 4bfccde5c7e9ea06f821db40ef0af54f6695c320)
1*4bfccde5SXin Li@echo off
2*4bfccde5SXin Lirem Copyright (C) 2008 The Android Open Source Project
3*4bfccde5SXin Lirem
4*4bfccde5SXin Lirem Licensed under the Apache License, Version 2.0 (the "License");
5*4bfccde5SXin Lirem you may not use this file except in compliance with the License.
6*4bfccde5SXin Lirem You may obtain a copy of the License at
7*4bfccde5SXin Lirem
8*4bfccde5SXin Lirem      http://www.apache.org/licenses/LICENSE-2.0
9*4bfccde5SXin Lirem
10*4bfccde5SXin Lirem Unless required by applicable law or agreed to in writing, software
11*4bfccde5SXin Lirem distributed under the License is distributed on an "AS IS" BASIS,
12*4bfccde5SXin Lirem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*4bfccde5SXin Lirem See the License for the specific language governing permissions and
14*4bfccde5SXin Lirem limitations under the License.
15*4bfccde5SXin Li
16*4bfccde5SXin Lirem don't modify the caller's environment
17*4bfccde5SXin Lisetlocal
18*4bfccde5SXin Li
19*4bfccde5SXin Lirem Set up prog to be the path of this script, including following symlinks,
20*4bfccde5SXin Lirem and set up progdir to be the fully-qualified pathname of its directory.
21*4bfccde5SXin Liset prog=%~f0
22*4bfccde5SXin Li
23*4bfccde5SXin Lirem Change current directory and drive to where the script is, to avoid
24*4bfccde5SXin Lirem issues with directories containing whitespaces.
25*4bfccde5SXin Licd /d %~dp0
26*4bfccde5SXin Li
27*4bfccde5SXin Lirem Get the CWD as a full path with short names only (without spaces)
28*4bfccde5SXin Lifor %%i in ("%cd%") do set prog_dir=%%~fsi
29*4bfccde5SXin Li
30*4bfccde5SXin Lirem Check we have a valid Java.exe in the path.
31*4bfccde5SXin Liset java_exe=
32*4bfccde5SXin Licall lib\find_java.bat
33*4bfccde5SXin Liif not defined java_exe goto :EOF
34*4bfccde5SXin Li
35*4bfccde5SXin Liset jarfile=hierarchyviewer2.jar
36*4bfccde5SXin Liset frameworkdir=.
37*4bfccde5SXin Liset libdir=
38*4bfccde5SXin Li
39*4bfccde5SXin Liif exist %frameworkdir%\%jarfile% goto JarFileOk
40*4bfccde5SXin Li    set frameworkdir=lib
41*4bfccde5SXin Li
42*4bfccde5SXin Liif exist %frameworkdir%\%jarfile% goto JarFileOk
43*4bfccde5SXin Li    set frameworkdir=..\framework
44*4bfccde5SXin Li
45*4bfccde5SXin Li:JarFileOk
46*4bfccde5SXin Li
47*4bfccde5SXin Liif debug NEQ "%1" goto NoDebug
48*4bfccde5SXin Li    set java_debug=-agentlib:jdwp=transport=dt_socket,server=y,address=8050,suspend=y
49*4bfccde5SXin Li    shift 1
50*4bfccde5SXin Li:NoDebug
51*4bfccde5SXin Li
52*4bfccde5SXin Liset jarpath=%frameworkdir%\%jarfile%;%frameworkdir%\hierarchyviewerlib.jar;%frameworkdir%\swtmenubar.jar
53*4bfccde5SXin Li
54*4bfccde5SXin Liif not defined ANDROID_SWT goto QueryArch
55*4bfccde5SXin Li    set swt_path=%ANDROID_SWT%
56*4bfccde5SXin Li    goto SwtDone
57*4bfccde5SXin Li
58*4bfccde5SXin Li:QueryArch
59*4bfccde5SXin Li
60*4bfccde5SXin Li    for /f "delims=" %%a in ('"%java_exe%" -jar %frameworkdir%\archquery.jar') do set swt_path=%frameworkdir%\%%a
61*4bfccde5SXin Li
62*4bfccde5SXin Li:SwtDone
63*4bfccde5SXin Li
64*4bfccde5SXin Liif exist "%swt_path%" goto SetPath
65*4bfccde5SXin Li    echo SWT folder '%swt_path%' does not exist.
66*4bfccde5SXin Li    echo Please set ANDROID_SWT to point to the folder containing swt.jar for your platform.
67*4bfccde5SXin Li    exit /B
68*4bfccde5SXin Li
69*4bfccde5SXin Li:SetPath
70*4bfccde5SXin Li
71*4bfccde5SXin Liecho The standalone version of hieararchyviewer is deprecated.
72*4bfccde5SXin Liecho Please use Android Device Monitor (tools/monitor.bat) instead.
73*4bfccde5SXin Licall "%java_exe%" %java_debug% -Xmx512m "-Dcom.android.hierarchyviewer.bindir=%prog_dir%" -classpath "%jarpath%;%swt_path%\swt.jar" com.android.hierarchyviewer.HierarchyViewerApplication %*
74*4bfccde5SXin Li
75*4bfccde5SXin Li
76