1*4bfccde5SXin Li@echo off 2*4bfccde5SXin Lirem Copyright (C) 2007 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 Useful links: 17*4bfccde5SXin Lirem Command-line reference: 18*4bfccde5SXin Lirem http://technet.microsoft.com/en-us/library/bb490890.aspx 19*4bfccde5SXin Li 20*4bfccde5SXin Lirem don't modify the caller's environment 21*4bfccde5SXin Lisetlocal 22*4bfccde5SXin Li 23*4bfccde5SXin Lirem Set up prog to be the path of this script, including following symlinks, 24*4bfccde5SXin Lirem and set up progdir to be the fully-qualified pathname of its directory. 25*4bfccde5SXin Liset prog=%~f0 26*4bfccde5SXin Li 27*4bfccde5SXin Lirem Grab current directory before we change it 28*4bfccde5SXin Liset work_dir=%cd% 29*4bfccde5SXin Li 30*4bfccde5SXin Lirem Change current directory and drive to where the script is, to avoid 31*4bfccde5SXin Lirem issues with directories containing whitespaces. 32*4bfccde5SXin Licd /d %~dp0 33*4bfccde5SXin Li 34*4bfccde5SXin Li 35*4bfccde5SXin Lirem Check we have a valid Java.exe in the path. 36*4bfccde5SXin Liset java_exe= 37*4bfccde5SXin Licall lib\find_java.bat 38*4bfccde5SXin Liif not defined java_exe goto :EOF 39*4bfccde5SXin Li 40*4bfccde5SXin Liset jar_path=lib\sdkmanager.jar;lib\swtmenubar.jar 41*4bfccde5SXin Li 42*4bfccde5SXin Lirem Set SWT.Jar path based on current architecture (x86 or x86_64) 43*4bfccde5SXin Lifor /f "delims=" %%a in ('"%java_exe%" -jar lib\archquery.jar') do set swt_path=lib\%%a 44*4bfccde5SXin Li 45*4bfccde5SXin Li:MkTempCopy 46*4bfccde5SXin Li rem Copy android.bat and its required libs to a temp dir. 47*4bfccde5SXin Li rem This avoids locking the tool dir in case the user is trying to update it. 48*4bfccde5SXin Li 49*4bfccde5SXin Li set tmp_dir=%TEMP%\temp-android-tool 50*4bfccde5SXin Li xcopy %swt_path% %tmp_dir%\%swt_path% /I /E /C /G /R /Y /Q > nul 51*4bfccde5SXin Li copy /B /D /Y lib\common.jar %tmp_dir%\lib\ > nul 52*4bfccde5SXin Li copy /B /D /Y lib\commons-codec* %tmp_dir%\lib\ > nul 53*4bfccde5SXin Li copy /B /D /Y lib\commons-compress* %tmp_dir%\lib\ > nul 54*4bfccde5SXin Li copy /B /D /Y lib\commons-logging* %tmp_dir%\lib\ > nul 55*4bfccde5SXin Li copy /B /D /Y lib\dvlib.jar %tmp_dir%\lib\ > nul 56*4bfccde5SXin Li copy /B /D /Y lib\guava* %tmp_dir%\lib\ > nul 57*4bfccde5SXin Li copy /B /D /Y lib\httpclient* %tmp_dir%\lib\ > nul 58*4bfccde5SXin Li copy /B /D /Y lib\httpcore* %tmp_dir%\lib\ > nul 59*4bfccde5SXin Li copy /B /D /Y lib\httpmime* %tmp_dir%\lib\ > nul 60*4bfccde5SXin Li copy /B /D /Y lib\layoutlib-api.jar %tmp_dir%\lib\ > nul 61*4bfccde5SXin Li copy /B /D /Y lib\org-eclipse-* %tmp_dir%\lib\ > nul 62*4bfccde5SXin Li copy /B /D /Y lib\sdk* %tmp_dir%\lib\ > nul 63*4bfccde5SXin Li copy /B /D /Y lib\swtmenubar.jar %tmp_dir%\lib\ > nul 64*4bfccde5SXin Li 65*4bfccde5SXin Li rem jar_path and swt_path are relative to PWD so we don't need to adjust them, just change dirs. 66*4bfccde5SXin Li set tools_dir=%cd% 67*4bfccde5SXin Li cd /d %tmp_dir% 68*4bfccde5SXin Li 69*4bfccde5SXin Li:EndTempCopy 70*4bfccde5SXin Li 71*4bfccde5SXin Lirem The global ANDROID_SWT always override the SWT.Jar path 72*4bfccde5SXin Liif defined ANDROID_SWT set swt_path=%ANDROID_SWT% 73*4bfccde5SXin Li 74*4bfccde5SXin Liif exist "%swt_path%" goto SetPath 75*4bfccde5SXin Li echo ERROR: SWT folder '%swt_path%' does not exist. 76*4bfccde5SXin Li echo Please set ANDROID_SWT to point to the folder containing swt.jar for your platform. 77*4bfccde5SXin Li goto :EOF 78*4bfccde5SXin Li 79*4bfccde5SXin Li:SetPath 80*4bfccde5SXin Lirem Finally exec the java program and end here. 81*4bfccde5SXin LiREM set REMOTE_DEBUG=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 82*4bfccde5SXin Licall "%java_exe% %REMOTE_DEBUG%" "-Dcom.android.sdkmanager.toolsdir=%tools_dir%" "-Dcom.android.sdkmanager.workdir=%work_dir%" -classpath "%jar_path%;%swt_path%\swt.jar" com.android.sdkmanager.Main %* 83*4bfccde5SXin Li 84*4bfccde5SXin Lirem EOF 85