#设置环境变量

名称:ANDROID_SDK_HOME

值:我的为-->E:\android\android-sdk

#代码编译及运行

1.把下面的代码保存为:AndroidDocRepair.java

2.javac AndroidDocRepair.java

3.java AndroidDocRepair

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileFilter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Map;
import java.util.UUID; public class AndroidDocRepair {
private static final String ANDROID_SDK_HOME = "ANDROID_SDK_HOME";
private static final String TAG = "<script src=\"http://www.google.com/jsapi\" type=\"text/javascript\"></script>";
private static final String TAG2 = "<link rel=\"stylesheet\"";
private static final String TAG3 = "href=\"http://fonts.googleapis.com/css?family=Roboto:regular,medium,thin,italic,mediumitalic,bold\" title=\"roboto\">";
private static String androidSDKHome; public static void main(String[] args) {
Map<String, String> map = System.getenv();
androidSDKHome = map.get(ANDROID_SDK_HOME);
if (androidSDKHome != null) {
System.out.println("Detected the Android SDK Installation path:"
+ androidSDKHome);
File docs = new File(androidSDKHome + "\\docs"); System.out.println("It will take several minutes, please wait...");
traverse(docs);
System.out
.println("Operation Down!!! Now you can visit Android Doc without waiting...");
} else {
System.out
.println("Please configure the Android SDK Environment variable (ANDROID_SDK_HOME)!");
}
} /**
* 遍历Android SDK安装目录下的docs目录
*
* @param dir
*/
private static void traverse(File dir) {
if (dir.isDirectory()) {
File[] files = dir.listFiles(new FileFilter() {
@Override
public boolean accept(File file) {
if (file.isFile() && file.getName().endsWith(".html")) {
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(file));
String buffer;
while ((buffer = reader.readLine()) != null) {
if (buffer.trim().equalsIgnoreCase(TAG)||buffer.trim().equalsIgnoreCase(TAG2)||buffer.trim().equalsIgnoreCase(TAG3)) {
return true;
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
} else if (file.isDirectory()) {
return true;
} return false;
}
}); for (File file : files) {
if (file.isDirectory()) {
System.out.println("Scanning Folder:"
+ file.getAbsolutePath());
traverse(file);
} else {
doChange(file);
}
}
}
} /**
* 注释html中的某行Javascript代码
*
* @param file
* @return
*/ private static boolean doChange(File file) {
System.out.println("Extracting File:" + file.getAbsolutePath() + "...");
String desPath = file.getParent() + "\\" + UUID.randomUUID().toString() + ".html";
File des = new File(desPath);
BufferedReader reader = null;
BufferedWriter writer = null;
try {
des.createNewFile();
reader = new BufferedReader(new FileReader(file));
writer = new BufferedWriter(new FileWriter(des));
String buffer;
while ((buffer = reader.readLine()) != null) {
if (buffer.trim().equalsIgnoreCase(TAG)) {
buffer = "<!--" + TAG + "-->";
}
if (buffer.trim().equalsIgnoreCase(TAG2)) {
buffer = "<!--" + TAG2;
}
if (buffer.trim().equalsIgnoreCase(TAG3)) {
buffer = TAG3 + "-->";
} writer.write(buffer + "\n");
writer.flush();
} return true;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
reader.close();
writer.close();
file.delete();
des.renameTo(file);
} catch (IOException e) {
e.printStackTrace();
}
} return false;
}
}

Android SDK的docs访问速度很慢(新)的更多相关文章

  1. 解决Android sdk manager无法访问google服务器的问题

    开发Android应用,使用最广泛的开发工具应该就是ADT了,但是ADT默认只带了Android 4.3(API 18),如果需要安装其他版本的SDK,就需要启动Android SDK Manager ...

  2. Github访问速度很慢的原因,以及解决方法

    1,CDN,Content Distribute Network,可以直译成内容分发网络,CDN解决的是如何将数据快速可靠从源站传递到用户的问题.用户获取数据时,不需要直接从源站获取,通过CDN对于数 ...

  3. weblogic 控制台访问速度很慢的解决方案

    实际是JVM在Linux下的bug 他想调用一个随机函数 但取不到 暂时的解决办法是 1)较好的解决办法: 在Weblogic启动参数里添加 “- Djava.security.egd=file:/d ...

  4. 【转】如何让你的Android SDK下载或者升级快如闪电

    准备学习Android开发,但是Android SDK Manager界面都刷不出来,今天看到了一篇文章,顿时就解决了,原文地址http://qichaochen.github.io/2014/12/ ...

  5. 第一部分:开发前的准备-第八章 Android SDK与源码下载

    第8章 Android SDK与源码下载 如果你是新下载的SDK,请阅读一下步骤了解如何设置SDK.如果你已经下载使用过SDK,那么你应该使用AVD Manager,来更新即可. 下面是构建Andro ...

  6. 简单的刚開始学习的人配置Android SDK+ADT+Eclipse

    1.下载JDK.Android SDK和Eclipse(Eclipse 版本号最好新一些) 注意:下载的SDK最好和后面的ADT配套,否则Eclipse可能会报错. 如:SDK 21.0.1 相应 A ...

  7. Android SDK及ADT更新访问问题的解决办法

    一.访问问题Eclipse使用SDK Manager更新时总是出现问题 Failed to fetch URL https://dl-ssl.google.com/android/repository ...

  8. windows中android SDK manager安装更新sdk很慢,或者出现Done loading packages后不动甚至没有任何可用包

    出现问题: 1.windows中android SDK manager安装更新sdk很慢,或者出现Done loading packages后不动甚至没有任何可用包 2.Failed to fetch ...

  9. 关于Android SDK Manager更新速度慢的解决方法

    因为我的C盘比较小,android sdk安装在c盘那么他下载的东西也会默认在c盘.所以我选择安装在其他的盘.而且我发现android sdk manager可以开多个窗口,这样的话如果每个窗口都很慢 ...

随机推荐

  1. Object类、包装类、内部类详解

    1.Object类 1.概念: 1.1 所有类在创建时都默认继承了java.lang.Object 1.2 所有类对象都可以声明为类对象的引用 Object ob1=new String(); Obj ...

  2. HDU 2089 数位dp/字符串处理 两种方法

    不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  3. Android拍照保存图片内存大小

    图片拍摄的大小会随着硬件而变化,比如,像素高的相机拍出来的图片要比像素低的图片内存要大. 如此一来,针对机型可能调用camera app保存照片的时候,图片大小会不一样. 为了缩小图片大小,我们需要把 ...

  4. leetcode 139. Word Break ----- java

    Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separa ...

  5. Apache的虚拟主机配置

    使用虚拟主机要先取消中心主机,注释掉DocumentRoot #DocumentRoot "/www/htdoc" 虚拟主机的单独配置: 用户认证 访问日志 错误日志 别名 脚本别 ...

  6. Kerberos的基本概念

    1.Princal(安全个体):被认证的个体,有一个名字和口令.(客户端或者服务端) 2.KDC(key  distribution center):是一个网络服务,提供ticket和临时会话密钥. ...

  7. android中常见对话框之一AlertDialog

    在Android应用中,有多种对话框:Dialog.AlertDialog.ProgressDialog.时间.日期等对话框. (1)Dialog类,是一切对话框的基类,需要注意的是,Dialog类虽 ...

  8. poj2367 拓扑序

    题意:有一些人他们关系非常复杂,一个人可能有很多后代,现在要制定一种顺序,按照前辈在后代前排列就行 拓扑序裸题,直接建边拓扑排序一下就行了. #include<stdio.h> #incl ...

  9. Android平台下的JNI开发

    JNI是Java Native Interface的缩写,通过JNI可以方便我们在Android平台上进行C/C++编程.要用JNI首先必须安装Android的NDK,配置好NDK环境之后就可以在Ec ...

  10. Python 列表如何获得一个指定元素所在的下标

    在使用Python3.4读取txt数据到列表,由于编码问题,读取到的数据通常会出现'\ufeffX'(x为你想要的数据).这时候如果需要把列表中的数据由字符串转换到数值型的数据的进行数据分析的话就会出 ...