首页 > 代码库 > 与设备无法进行调试怎么走

与设备无法进行调试怎么走

 

2014-11-19

  好吧,我承认,这是后来编辑的。嘿嘿借着上面的扑捉异常来做了一个不是很大变更的扑捉日志。

就我目前得知,与设备连接调试就两种方式,一种间接,一种直接。间接就是指网络连接,通常就是通过QADB这个网络连接的方式。但是这里有很多自己定制的Android的厂商会让自己的设备不被侵犯的话,至少应该已经把这个功能给关掉了。直接的方式就是通过我们都知道的USB。手机还好说,那如果是客户端也是一个USB口呢?你的电脑的口就会与客户端的口一样,双公口。其实,市场上也有买这样的。但是,这里就给出一个不用折腾的方法嘛。嘿嘿

    写一个实例,这样如果已经创建了,就不会再创建。然后看看里面的方法:

package com.lhl.exception;import java.io.File;import java.io.FileOutputStream;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;import android.content.Context;import android.util.Log;/** * this is a class to get the request and the response.......it have maked the * client interaction with server *  * @author Catherine.Brain */public class CrashInteraction {    /**     * to write the log int he localpath     */    public static String logIPath = "mnt/sdcard/Android/logG";    // int count = 0;    GetFileSize getSize;    private static CrashInteraction INSTANCE = new CrashInteraction();    Context mContext;    String request;    private DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");    private CrashInteraction() {    }    /**     * 获取CrashInteraction实例 ,单例模式     *      * @return     */    public static CrashInteraction getInstance() {        return INSTANCE;    }    public void init(Context context) {        // TODO Auto-generated method stub        mContext = context;        getSize = new GetFileSize(logIPath);    }    public void initStr(String str) {        request = str;        getSize.toDoFile();        saveCrashInfo(request);    }    private File saveCrashInfo(String str) {        StringBuffer sb = new StringBuffer();        sb.append(str);        try {            long timestamp = System.currentTimeMillis();            String time = formatter.format(new Date());            File dir = new File(logIPath);            String fileName = "get" + time + "-" + timestamp + ".log";            if (!dir.exists()) {                System.out.println("dir.mkdirs();");                dir.mkdirs();            }            File file = new File(dir, fileName);            if (!file.exists()) {                file.createNewFile();            }            FileOutputStream fos = new FileOutputStream(file);            fos.write(sb.toString().getBytes());            fos.close();            return file;        } catch (Exception e) {            System.out.println("an error occured while writing file..." + e);        }        return null;    }    /**     * 删除文件夹所有内     *      */    public boolean deleteFile(File file) {        boolean isSuccess = false;        if (file.exists()) { // 判断文件是否存在            if (file.isFile()) { // 判断是否是文                file.delete(); // delete()方法 你应该知            } else if (file.isDirectory()) { // 否则如果它                File files[] = file.listFiles(); // 声明目录下所有的文件 files[];                for (int i = 0; i < files.length; i++) { // 遍历目录下所有的文件                    this.deleteFile(files[i]); // 把每个                }            }            file.delete();            isSuccess = true;        } else {            isSuccess = false;        }        return isSuccess;    }}

另外还有一个打辅助的类:

package com.lhl.exception;import java.io.File;import java.io.FileInputStream;import java.text.DecimalFormat;/** *  * to get the sdCard size or the file size only you want *  * @author Catherine.Brain * */public class GetFileSize {    String logPath;    public GetFileSize(String path) {        logPath = path;    }    public void toDoFile() {        try {            long l = 0;            File ff = new File(logPath);            if (ff.exists()) {                if (ff.isDirectory()) {                    // System.out.println("文件夹个数           " + getlist(ff));                    l = getFileSize(ff);//                    System.out.println(logPath + "目录的大小为:" + FormetFileSize(l));                } else if (ff.isFile()) {                    // System.out.println("     文件个数           1");                    l = getFileSizes(ff);//                    System.out.println(logPath + "文件的大小为:" + FormetFileSize(l));                }            } else {//                System.out.println("日志文件路径不存在。。。");            }            if (l >= 10000) {//                System.out.println("delete");                deleteFile(new File(logPath));            }        } catch (Exception e) {            e.printStackTrace();        }    }    public long getFileSizes(File f) throws Exception {// 取得文件大小        long s = 0;        if (f.exists()) {            FileInputStream fis = null;            fis = new FileInputStream(f);            s = fis.available();        } else {            f.createNewFile();            System.out.println("文件不存在");        }        return s;    }    // 递归    public long getFileSize(File f) throws Exception// 取得文件夹大小    {        long size = 0;        File flist[] = f.listFiles();        for (int i = 0; i < flist.length; i++) {            if (flist[i].isDirectory()) {                size = size + getFileSize(flist[i]);            } else {                size = size + flist[i].length();            }        }        return size;    }    public String FormetFileSize(long fileS) {// 转换文件大小        DecimalFormat df = new DecimalFormat("#.00");        String fileSizeString = "";        if (fileS < 1024) {            fileSizeString = df.format((double) fileS) + "B";        } else if (fileS < 1048576) {            fileSizeString = df.format((double) fileS / 1024) + "K";        } else if (fileS < 1073741824) {            fileSizeString = df.format((double) fileS / 1048576) + "M";        } else {            fileSizeString = df.format((double) fileS / 1073741824) + "G";        }        return fileSizeString;    }    public long getlist(File f) {// 递归求取目录文件个数        long size = 0;        File flist[] = f.listFiles();        size = flist.length;        for (int i = 0; i < flist.length; i++) {            if (flist[i].isDirectory()) {                size = size + getlist(flist[i]);                size--;            }        }        return size;    }    /**     * 删除文件夹所有内容     *      */    public static boolean deleteFile(File file) {        boolean isSuccess = false;        if (file.exists()) { // 判断文件是否存在            if (file.isFile()) { // 判断是否是文件                file.delete(); // delete()方法 你应该知道 是删除的意思;            } else if (file.isDirectory()) { // 否则如果它是一个目录                File files[] = file.listFiles(); // 声明目录下所有的文件 files[];                for (int i = 0; i < files.length; i++) { // 遍历目录下所有的文件                    deleteFile(files[i]); // 把每个文件 用这个方法进行迭代                }            }            file.delete();//            System.out.println("success");            isSuccess = true;        } else {            isSuccess = false;            System.out.println("failes");        }        return isSuccess;    }}

okay,这样你就能在对应的文件下面得到你要的日志文件了。

与设备无法进行调试怎么走