首页 > 代码库 > 与设备无法进行调试怎么走
与设备无法进行调试怎么走
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,这样你就能在对应的文件下面得到你要的日志文件了。
与设备无法进行调试怎么走
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。