zoukankan      html  css  js  c++  java
  • 解决Android SDK Manager更新(一个更新Host的程序的原理实现和源码)

    <ignore_js_op> 
        同学遇到了更新Android SDK的问题,而且Goagent现在也无法用来更新。
    就想到了用替代Host的方法,添加可用的谷歌地址来实现更新。
        更新Host文件之后的功能:访问谷歌,更新Android SDK


    原理分析:
         1. github上的一个hosts项目(https://github.com/racaljk/hosts),获取到最新的Host的文件
         2. 获取hosts的文本网页(https://raw.githubusercontent.com/racaljk/hosts/master/hosts
         3. 把提取这个网页的内容,并且替换在C:WindowsSystem32driversetchosts的文件中


     

    C#中得到网页内容的函数:
    private string GetGeneralContent(string strUrl)
    {
        string strMsg = string.Empty;
        try
        {
            WebRequest request = WebRequest.Create(strUrl);
            WebResponse response = request.GetResponse();
            StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("gb2312"));
     
            strMsg = reader.ReadToEnd();
     
            reader.Close();
            reader.Dispose();
            response.Close();
        }
        catch
        { }
        return strMsg;
    }
    

      按钮点击事件:

    private void button1_Click(object sender, EventArgs e)
    {
        string add = GetGeneralContent("[url=https://raw.githubusercontent.com/racaljk/hosts/master/hosts"]https://raw.githubusercontent.com/racaljk/hosts/master/hosts"[/url]);
        if (add != "")
        {
            //string str2 = File.ReadAllText(@"C:WindowsSystem32driversetchosts", Encoding.ASCII);
            //str2 = str2 + '
    ' + add;
            string str2 = add;
            File.WriteAllText(@"C:WindowsSystem32driversetchosts", str2, Encoding.ASCII);
            MessageBox.Show( "修改成功" ,"xiaoz 提示:");
        }
        else {
            MessageBox.Show("修改失败", "xiaoz 提示:");
        }
    }
    

      

    软件运行图(需要管理员权限):

     

    Android SDK更新图:

     


    软件需要管理员权限
    软件需要管理员权限
    软件需要管理员权限
    (.net framework 4.0 环境)
    软件下载地址:http://pan.baidu.com/s/1i32KqJb 密码:szo9
    源码下载地址:http://pan.baidu.com/s/1eQ2kw3g 密码:7er9
  • 相关阅读:
    多线程编程
    Phthon环境搭建
    网站开发语言方案的选择
    NSTimer的一个误区
    一个tableview的自带动画
    一个扇形的动画效果
    一点两个uiview动画切换的体会
    关于gcd一些自己的理解。
    使用到定时器,单例和协议的一个小应用(2 )
    使用到定时器,单例和协议的一个小应用(1)
  • 原文地址:https://www.cnblogs.com/Zengineer/p/4909534.html
Copyright © 2011-2022 走看看