Android 5.0 SDK無法開啟附帶工具解決方案

來源:互聯網
上載者:User

作為日常工作,常常要使用Android SDK附帶的hierarchyviewer、uiautomatorviewer、ddms等工具,剛好碰上Android L發布,並且更新了Android Stutio 1.0,SDK也伴隨著進行了大幅度更新,包括uiautomatorviewer等在內的工具都有了新版本。於是昨天下了新版本過來,安裝上去,接著重新設定了環境變數等一系列東西,然後開啟uiautomatorviewer,竟然提示出錯:

    ‘-v’ 不是內部或外部命令,也不是可啟動並執行程式
    或批次檔。
    無效路徑
    ERROR: SWT folder ” does not exist.
    Please set ANDROID_SWT to point to the folder containing swt.jar for your platform.

莫非是我環境配置有問題?Google了一下,發現大部分答案都是讓設定ANDROID_SWT的環境變數,或者吧jdk移動到PATH的第一個云云的奇怪辦法,所以試了半天放棄了,還是安心調試調試看看咋回事。

把uiautomatorviewer.bat的第一行@echo off加冒號”:”注釋掉,然後運新一下,看輸出:

C:Usersxxx.xxx>rem Copyright (C) 2012 The Android Open Source Project ...... C:Usersxxx.xxxAppDataLocalAndroidsdktools>rem Check we have a valid Java.exe in the path. C:Usersxxx.xxxAppDataLocalAndroidsdktools>set java_exe= C:Usersxxx.xxxAppDataLocalAndroidsdktools>call libfind_java.bat SWT folder '' does not exist. Please set ANDROID_SWT to point to the folder containing swt.jar for your platform.

C:Usersxxx.xxx>rem Copyright (C) 2012 The Android Open Source Project
......
C:Usersxxx.xxxAppDataLocalAndroidsdktools>rem Check we have a valid Java.exe in the path.
C:Usersxxx.xxxAppDataLocalAndroidsdktools>set java_exe=
C:Usersxxx.xxxAppDataLocalAndroidsdktools>call libfind_java.bat
SWT folder '' does not exist.
Please set ANDROID_SWT to point to the folder containing swt.jar for your platform.
 

運行到call libfind_java.bat這一行出問題鳥~~

接著摸出來find_java.bat,注釋掉第一行的 @echo off,看輸出:

...... for /F "delims=" %a in ('"C:Usersxxx.xxxAppDataLocalAndroidsdktoolslibfind_java32 .exe" -s') do set java_exe=%a ......

......
for /F "delims=" %a in ('"C:Usersxxx.xxxAppDataLocalAndroidsdktoolslibfind_java32 .exe" -s') do set java_exe=%a
......
 

find_java32 .exe是什麼鬼……

開啟find_java.bat的代碼,可以看到27行這裡

for /f "delims=" %%a in ('"%~dps0find_java%arch_ext%.exe" -s -w') do set javaw_exe=%%a

for /f "delims=" %%a in ('"%~dps0find_java%arch_ext%.exe" -s -w') do set javaw_exe=%%a
 

就是本尊了,往上翻到arch_ext:

find /i "x86" > NUL && set arch_ext=32 || set arch_ext=64

find /i "x86" > NUL && set arch_ext=32 || set arch_ext=64
 

那個空格應該是這裡了,可能是工程師們java寫多了,bat裏手也瓢了,把前後的空格去掉試試~~

find /i "x86" > NUL && set arch_ext=32||set arch_ext=64

find /i "x86" > NUL && set arch_ext=32||set arch_ext=64
 

關掉cmd,重新開啟,新版的uiautomatorviewer出現鳥~~接著測試一下其他需要用到call libfind_java.bat的工具(tools裡的幾乎都要用吧),都沒問題了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.