这段时间装SDK装到吐血

    装了三四天SDK

    打开android.bat输出的信息有

    unable to access jarfile lib\archquery.jar

    无效路径

    系统找不到指定的路径 x 10+个

    找不到com.android.sdkmanager.Main之类的。


    下了好多个都这样,然后上网找各种解决方法,改了android.bat不知道多少次,SDK MANAGER一点就闪退。然后复制粘贴到学校机房去同样设置好变量然后轻松打开SDKMANAGER.EXE。

    总结: SDK 安装看电脑和运气,运气好什么都不用改直接能用,运气不好改半天批处理文件还是一大堆错误。

     改了半天,都学会了批处理文件的一些入门语言了。

    首先出现错误,我修改过的只有find_java.bat和android.bat,其它的都没有修改。

    首先除去rem开头的所有行,剩下整洁的android.bat

   

@echo off
setlocal
set prog=%~f0
set work_dir=%cd%
cd /d %~dp0
set java_exe=
call lib\find_java.bat
if not defined java_exe goto :EOF
set jar_path=lib\sdkmanager.jar;lib\swtmenubar.jar
set swt_path="C:\adt-bundle-windows-x86-20140702\sdk\tools\lib\x86"
:MkTempCopy
 set tmp_dir="C:\adt-bundle-windows-x86-20140702\sdk\temp\temp-android-tool"
  xcopy %tmp_dir% "C:\adt-bundle-windows-x86-20140702\sdk\tools\lib" /I /E /C /G /R /Y /Q > nul
    copy /B /D /Y lib\common.jar         %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\commons-codec*     %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\commons-compress*  %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\commons-logging*   %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\dvlib.jar          %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\guava*             %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\httpclient*        %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\httpcore*          %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\httpmime*          %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\layoutlib-api.jar  %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\org-eclipse-*      %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\sdk*               %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\swtmenubar.jar     %tmp_dir%\lib\        > nul
  set tools_dir=%cd%
    cd /d %tmp_dir%
:EndTempCopy
if defined ANDROID_SWT set swt_path=%ANDROID_SWT%

if exist "%swt_path%" goto SetPath
    echo ERROR: SWT folder '%swt_path%' does not exist.
    echo Please set ANDROID_SWT to point to the folder containing swt.jar for your platform.
    goto :EOF

:SetPath
REM set REMOTE_DEBUG=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
call "%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 %*
至于find_java.bat 当时我应该设置的是 set java_exe="C:\Java\jdk1.7.0_15\bin" 我想其实program file这种带空格的文件名也是能被调用的。当时网上写这种带空格的会有问题,所以把它重装到C目录下了。

这个估计导致的问题是unable to access jarfile lib\archquery.jar


android.bat我修改的地方有:

set swt_path="C:\adt-bundle-windows-x86-20140702\sdk\tools\lib\x86"
这个由于我是32位的XP系统所以调用x86的,里面应该还有个x86_64的应该是64位系统

有关于swt.jar的错误信息似乎也有


xcopy %tmp_dir% "C:\adt-bundle-windows-x86-20140702\sdk\tools\lib" /I /E /C /G /R /Y /Q > nul
这个是把temp_dir所设的路径下的文件放到"C:\adt-bundle-windows-x86-20140702\sdk\tools\lib" 下,这个找不到路径会显示 无效路径

以下代码找不到路径出现一堆    系统找不到指定的路径

    copy /B /D /Y lib\common.jar         %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\commons-codec*     %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\commons-compress*  %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\commons-logging*   %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\dvlib.jar          %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\guava*             %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\httpclient*        %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\httpcore*          %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\httpmime*          %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\layoutlib-api.jar  %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\org-eclipse-*      %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\sdk*               %tmp_dir%\lib\        > nul
    copy /B /D /Y lib\swtmenubar.jar     %tmp_dir%\lib\        > nul
解决方法:

前面设了tmp_dir的路径

set tmp_dir="C:\adt-bundle-windows-x86-20140702\sdk\temp\temp-android-tool"
手动在sdk下创建一个temp文件夹,然后在temp文件夹里面创建一个temp-android-tool文件夹,然后再在temp-android-tool文件夹里面创建一个lib文件夹,然后更新包会下载到这个文件夹里。


然后由于死马当活马医,所以在环境变量里面建立了一些变量,汇总如下:

ANDROID_SDK_HOME D:\

ANDROID_SWT "C:\adt-bundle-windows-x86-20140702\sdk\tools\lib\x86"

JAVA_HOME "C:\Java\jdk1.7.0_15"

Path C:\adt-bundle-windows-x86-20140702\sdk\tools;C:\adt-bundle-windows-x86-20140702\sdk;C:\Java\jdk1.7.0_15\bin;XXX.....注意后面的别删掉了。

目前android.bat打开可以弹出Android SDK Manager,但是双击SDK Manager还是闪退,估计是找不到android.bat,由于eclipse已经能正常运行Android程序了所以就没理它了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值