您当前位置: 首页 »

折腾

分类目录归档: 折腾

Android SDK Manager 无法打开的问题

一年多没写新文章了,我现在正在用着 32 位的 Windows 7 系统,虽然还有着诸多的不习惯,可另外一块硬盘上装着的 Windows XP 还是用的越来越少了。

昨天看到 Android Studio 1.0 正式版发布了,那个激动啊,赶紧下载下来学习,顺便把之前为了 Cordova 编译安装的 Android SDK 也更新一下,然后就杯具了……

打开 SDK Manager 时一闪而过就退出了,完全卸载重新安装 installer_r24-windows.exe 还是没用,

尝试在命令行运行 android.bat,在命令行输出了如下内容:

D:\android-sdk\tools>android.bat
'-v' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
无效路径
系统找不到指定的路径。
系统找不到指定的路径。
系统找不到指定的路径。
系统找不到指定的路径。
系统找不到指定的路径。
系统找不到指定的路径。
系统找不到指定的路径。
系统找不到指定的路径。
系统找不到指定的路径。
系统找不到指定的路径。
系统找不到指定的路径。
系统找不到指定的路径。
系统找不到指定的路径。
系统找不到指定的路径。
系统找不到指定的路径。
系统找不到指定的路径。
系统找不到指定的路径。
系统找不到指定的路径。
系统找不到指定的路径。
系统找不到指定的路径。
系统找不到指定的路径。
ERROR: SWT folder '' does not exist.
Please set ANDROID_SWT to point to the folder containing swt.jar for your platform.

网上搜索了下相关问题,基本上都是修改下环境变量什么的,尝试了一下都没用。

自己找找看问题出在哪里,编辑 android.bat 注释掉第一行的 @echo off 后再次运行,发现在

call lib\find_java.bat

这个调用后出现错误,再编辑 find_java.bat 同样注释第一行的关闭回显代码,可以看到如下输出

for /F "delims=" %a in ('"D:\ANDROI~1\tools\lib\\find_java32 .exe" -s') do set java_exe=%a

仔细一看,find_java32 和 .exe 之间有一个空格,在 find_java.bat 中找到对应的代码为:

for /f "delims=" %%a in ('"%~dps0\find_java%arch_ext%.exe" -s') do set java_exe=%%a

也就是说 %arch_ext% 这个变量被设置成了 “32 “,再看看这个变量是哪来的:

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

看到没,”32″ 和 “||” 之间有一个空格!

删除这个空格,重新打开 SDK Manager,可以打开了!

如果要保持代码留白一致的话可以用加括号的方法,即改成如下:

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

这就是一个空格引发的杯具,多年的软件开发经验告诉我,最经常犯的错误甚至是致命的错误往往都是极小的问题导致的,比如标点错误、拼写错误或者这里的多了一个空格……

集成MSYS的Shell到Windows资源管理器右键菜单

MSYS为Windows提供了丰富的Linux工具集的移植版本,比如bash、make、gawk、grep等,为了更方便的使用其提供的命令行工具,我把它添加到了Windows资源管理器的右键菜单中。

工具准备

MSYS-CN: https://code.google.com/p/msys-cn/
这里我使用了能更好的支持中文的MSYS-CN版本

打开加加: http://www.freewebs.com/dengdun/cn/openxx.htm
一个方便添加自定义右键菜单的小工具

配置右键菜单

安装好“打开加加”,并将下载的MSYS-CN解压,我这里解压在 D:\Dev\MSYS,按下图所示配置:
Open++
为了使界面看起来更友好,我这里使用rxvt来调用msys-bash,其中的参数为:

-tn msys -sl 3000 -fn Fixedsys -fg white -bg black -sr -e D:\Dev\MSYS\bin\bash.exe --login -i

注意将路径修改为你自己的MSYS所在路径

启动目录修正

MSYS在默认情况下会把当前目录重置为虚拟的当前用户主目录,这样便失去原本想要在当前目录执行命令的便利性,为了使msys-bash启动后停留在当前目录,我们需要做一些小改动。
打开MSYS中的\etc\profile文件,找到里面最后部分的

# Enter home dirctory
cd "$HOME"

将切换到用户主目录的代码注释掉,变成

# Enter home dirctory
#cd "$HOME"

大功告成!现在尽情享用MSYS工具的便利吧!
MSYS-CN

参见:

  1. MSYS – http://mingw.org/wiki/msys
  2. MSYS-CN – https://code.google.com/p/msys-cn/
  3. 打开加加 – http://www.freewebs.com/dengdun/cn/openxx.htm

ADSL宽带拨号提示“错误 676:电话占线”问题一则

前几天回老家,老妈说这几天上不了网,让我给看看怎么回事,打开电脑后,只见ADSL拨号程序一直在错误重连,一直也连不上,提示错误信息为“错误 676:电话占线”,检查了线路也没有问题,用自己的笔记本试了下,立马就连上,于是排除了线路问题。

接着就习惯性地在命令行输入 ipconfig /all ,猛的发现上面显示的网卡MAC地址变成了00-00-00-00-00-03,于是就考虑是不是这个原因造成的拨号连接失败,遂在网卡属性中将其修改为正常的网卡应该使用的MAC地址,如00-E0-4C-00-00-01,再次尝试拨号连接,立马就连上了,问题解决!

PS: 网卡MAC地址的修改方法请自行Google之

开机后任务栏托盘图标显示不全

问题描述:

有时候装了一些开机自启动的程序,在系统启动的时候有些就会在系统托盘区添加一个图标方便操作,有些情况下开机以后发现图标只显示了一部分,还有一些没有显示出来,字体注销重新登录后能显示出来,但是重启计算机以后问题依旧,是个非常奇怪的问题,居然是UPnP设备发现服务造成的。

解决方法:

控制面板的管理工具里面打开“服务”,或者在“开始”→“运行”(WinKey+R)中输入“service.msc”(不带引号) ,找到名称为“SSDP Discovery Service”的服务(即UPnP设备发现服务),选择右键→属性,启动类型改为“已禁用”,然后停止该服务,然后重新启动计算机,你会发现一切正常了。

部分程序的菜单栏中的中文字体显示有问题

问题描述:

这种情况通常出现在Java程序、Gtk程序之类非Windows原生的程序(Native App)中,比如OpenOffice.org的菜单栏、FreeMind的菜单栏、还有基于QT库的Vidalia的系统托盘通知区图标的弹出菜单等,原因是因为安装了第三方主题等使系统菜单字体设置成8号“Tahoma”适合英文显示的字体却影响了汉字的显示效果。

解决方法:

桌面右键→属性,切换到外观选项卡,点击“高级”按钮,在弹出的对话框中的项目中选择“菜单”,然后调整字体大小,一般中文字体设为9较为合适,推荐使用9号“Tahoma”字体,如果其他项目字体显示有问题也可以到这里更改为9号”Tahoma”,或者索性把所有的字体全部改成9号”Tahoma”,当然,也可以使用你自己喜欢的字体。