Android开发学习笔记6--安卓程序调试方法

来源:互联网 发布:unity3d开发安卓游戏 编辑:程序博客网 时间:2024/06/10 07:42

5.1ADB的使用

1.ADB常用命令

使用ADB安装软件

    打开CMD命令提示----ADB install +软件路径.apk 完成安装

使用ADB卸载软件

    打开CMD命令提示---ADB uninstall + 软件包名

列出当前连接的设备:

ADB devices

进入安卓操作系统命令行模式

ADB shell    离开输入exit

上传文件

     ADB pull wenjianming /sdcard

下载文件

     ADB push /sdcard wenjianming

启动ADB服务器

     ADB start-server

关闭ADB服务器

     ADB kill-server

变更TCP通信端口

     ADB forward tcp:6100 tcp:7100

5.2Logcat的使用


使用logcat可以查看程序运行过程中出现的错误信息

单击加号出现筛选选项

 

按需要筛选需要的出错信息,然后查看描述

5.3 单元测试

检查业务处理的方法和结果是否正确

5.3.1 配置单元测试环境

在需要测试的工程下面建立测试类

AndroidManifest.xml中加入使用单元测试的声明代码

加在<application>里面:

 <uses-library android:name = "android.test.runner" />

加在<manifest>里面:

<instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.fei.phone" android:label="Tests for My App" />   此包名改成需要测试的包名,其他不用改变

建立独立的测试工程

New--->project--->-------->----->--->会建立新的工程,在其Mainfest文件里,已经配置好了上面添加的那两句,所以做工程时通常使用这种方法。

 

5.3.2 编写测试类

右击---->选择new---->class打开对话框--->单击Browse--->--->完成后打开类:

 

package com.fei.phone.test;

import junit.framework.Assert;

import android.test.AndroidTestCase;

public class testphonefei extends AndroidTestCase {

      public void testSave() throw Exception{ //编写测试Save类的测试方法

       PersonService sevice = new PersonService(); //PersonService是Save类中的对象

       service.save(null); //saveSave类中的方法

      }

      public void testAdd() throws Exception{

       PersonService sevice = new PersonService(); //PersonService是Add类中的对象

       int actual = service.add(1,2);  //addAdd中的方法

       Assert.assertEquals(3, actual);  //次函数用来判断actuall是否等于3

      }

}

5.3.3 运行测试类

在需要运行的类上面单击右键--->run as--->android JUnit test-----JUnit控制台可以查看到出错信息

5.4查看日志信息

Console :显示软件安装期间的信息

Logcat : 显示软件运行时的错误信息,程序里打印的西诺西显示在这里。

5.4.1 输出日志信息

编写输出日志信息的类,同5.3.2

package com.fei.phone.test;

 

import android.test.AndroidTestCase;

import android.util.Log;

 

public class outLog extends AndroidTestCase {

private static final String TAG = "outLog";

public  void testoutLog() throws Throwable{

Log.i(TAG"how are you ");

}

public void testoutLog2() throws Throwable{

System.out.println("my name is fei ");

}

public void testoutLog3() throws Throwable{

System.err.println("my name is error ");

}

}

‚运行测试类,同5.3.3,在JUnit中查看测试类有无出错信息,在Logcat中查看输出的日志信息

5.5 出错信息及解决方案

1.代码:

 

Call requires API level 5 (current min is 3): android.content.ContentProviderOperation.Builder#build

 

解决方法:在manifest.xml中更改API的级别就可以了

 android:minSdkVersion="3"

提高级别可去掉错误信息。

 

2.将文件从电脑上传到SD卡出现如下出错信息:

 

2013-08-21 21:34:35] Failed to push selection: Invalid argument

[2013-08-21 21:36:31 - ddms] transfer error: Invalid argument

解决方法:将上传文件的文件名改成全部英文

 

 

3.导入安卓工程出现如下错误:

 

 

Invalid project description.

  D:\FProjects\FAndroid\FProject\workspace\junitest overlaps the location of another project: 'junitest'

 

 

解决方法:

将要导入的工程放在其他文件夹下,不能放在workspace下。

 

0 0
原创粉丝点击