Android SDK的docs访问速度慢,Please configure the Android SDK Environment variable (ANDROID_SDK_HOME)!

本文指导如何在系统环境中配置Android SDK路径,并通过代码遍历解析SDK下的文档目录,去除特定的JavaScript代码行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 HelloWorld {  
    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 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)) {  
                                    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 + "-->";  
                } 

                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;  
    }   
} 




Please configure the Android SDK Environment variable (ANDROID_SDK_HOME)!


这个问题:


1.在环境变量中新建一个“系统变量”

  变量名ANDROID_SDK_HOME

      值:K:\Android\android-sdk-windows\tools(注:我的sdk安装在K盘)

2.修改系统变量Path,在前面添加%Android_SDK_HOME%/tools;

 

重启eclipse,查看

window-perferences-android-build

default debug keystore:成功指向了K:\Android\android-sdk-windows\tools\.android\debug.keystore


Rebuild started: Project: Project *** Using Compiler &#39;V6.22&#39;, folder: &#39;E:\Keil_v5\ARM\ARMCLANG\Bin&#39; Rebuild target &#39;Target 1&#39; assembling startup_stm32f10x_md.s... Start/core_cm3.c(445): error: non-ASM statement in naked function is not supported 445 | uint32_t result=0; | ^ Start/core_cm3.c(442): note: attribute is here 442 | uint32_t __get_PSP(void) __attribute__( ( naked ) ); | ^ Start/core_cm3.c(465): error: parameter references not allowed in naked functions 465 | "BX lr \n\t" : : "r" (topOfProcStack) ); | ^ Start/core_cm3.c(461): note: attribute is here 461 | void __set_PSP(uint32_t topOfProcStack) __attribute__( ( naked ) ); | ^ Start/core_cm3.c(479): error: non-ASM statement in naked function is not supported 479 | uint32_t result=0; | ^ Start/core_cm3.c(476): note: attribute is here 476 | uint32_t __get_MSP(void) __attribute__( ( naked ) ); | ^ Start/core_cm3.c(499): error: parameter references not allowed in naked functions 499 | "BX lr \n\t" : : "r" (topOfMainStack) ); | ^ Start/core_cm3.c(495): note: attribute is here 495 | void __set_MSP(uint32_t topOfMainStack) __attribute__( ( naked ) ); | ^ 4 errors generated. compiling core_cm3.c... compiling misc.c... compiling system_stm32f10x.c... compiling stm32f10x_adc.c... compiling stm32f10x_dac.c... compiling stm32f10x_exti.c... compiling stm32f10x_dbgmcu.c... compiling stm32f10x_dma.c... compiling stm32f10x_crc.c... compiling stm32f10x_cec.c... compiling stm32f10x_bkp.c... compiling stm32f10x_can.c... compiling stm32f10x_flash.c... compiling stm32f10x_pwr.c... compiling stm32f10x_fsmc.c... compiling stm32f10x_
03-31
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值