日期:2014-05-16  浏览次数:20370 次

Javascript获取最新AndroidSDK下载地址(转)

Android官方网站时常被墙,而且下载下来的sdk只是一个sdk manager,还需要以非常慢的速度下载需要的sdk版本。

写了一个简单的JavaScript脚本,可以方便的获取最新的全部SDK版本的下载链接。复制一下内容,另存为本地的一个HTML文件,打开即可通过迅雷下载。下载后,放至android-sdk-windows目录下的temp目录下,使用SDK Manager升级即可,免去下载直接安装。

很久没写js,生疏的紧,正则也调试了半天,懒得用xml解析了。

?

发现问题

本想直接在页面执行,获取并展示url地址,但是在xmlhttp.open执行时,错误,想起来不能跨域执行,代码在本地可以执行,在站点上可就算跨域了。回头要结合服务端代码php改写一个。

代码在chrome和firefox下执行有问题,本地也不允许跨域。

判断xmlhttp.status时,返回值ie和firefox不同。索性不判断了。

<script language="javascript">
var xmlhttp;
if(window.ActiveXObject)
{
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }else if(window.XMLHttpRequest)
    {
        xmlhttp=new XMLHttpRequest();
    }
    xmlhttp.open("GET", "http://dl-ssl.google.com/android/repository/repository.xml",true);
    xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState==4)
    {
        var str=xmlhttp.responseText;
        var pattern=/[A-Za-z0-9_\-\.]*zip/gi;
        var addrs=str.match(pattern);
        var strAddress="";
        if(addrs!=null)
        {
            for(var i=0;i<addrs.length;i++)
            {
                strAddress+="<a href=\"http://dl-ssl.google.com/android/repository/"+addrs[i]+"\">"+addrs[i]+"</a><br />";
            }
        }
        document.write(strAddress);
    }
}
xmlhttp.send(null);
</script>

?=================================

来源:?http://madgoat.cn/2011/02/get_android_sdk_download_url_by_javascript/