第一篇:Android调试常用命令总结
一 adb常用的几个命令 ······················································································································· 1 二 Log方法: ······································································································································· 2 三 adb Log过滤: ······························································································································· 2
Android调试
adb logcat-s AndroidRuntime
[ctrl+c退出当前命令] adb remount(改变手机系统为可写)adb shell stop(快速关机)adb shell start(快速开机)adb shell reboot(快速重启)
一 adb常用的几个命令
1.查看设备 adb devices 这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示
2.安装软件 卸载软件 adb install
4.登录设备shell adb shell adb shell
5.从电脑上发送文件到设备
adb push <本地路径> <远程路径> 用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)
6.从设备上下载文件到电脑
adb pull <远程路径> <本地路径> 用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑
7.取得设备root权限 adb remount 二 Log方法:
android.util.Log常用的方法有以下5个:Log.v()Log.d()Log.i()Log.w()以及 Log.e()。根据首字母对应VERBOSE,DEBUG,INFO, WARN,ERROR。
1、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v(“",”");
2、Log.d的输出颜色是蓝色的,仅输出debug调试的意思,但他会输出上层的信息,过滤起来可以通过DDMS的Logcat标签来选择.3、Log.i的输出为绿色,一般提示性的消息information,它不会输出Log.v和Log.d的信息,但会显示i、w和e的信息
4、Log.w的意思为橙色,可以看作为warning警告,一般需要我们注意优化Android代码,同时选择它后还会输出Log.e的信息。
5、Log.e为红色,可以想到error错误,这里仅显示红色的错误信息,这些错误就需要我们认真的分析,查看栈的信息了。
三 adb Log过滤:
1.只显示需要的输出,白名单
最方便的当然是通过管道使用 grep 过滤了,这样可以使用 grep 强大的正则表达式匹配。简单的匹配一行当中的某个字符串,例如 MyApp: adb logcat | grep MyApp adb logcat | grep-i myapp #忽略大小写。保存log 使用-d参数,可以在读完所有log后返回,而不会一直等待,在自动化较有用。例如: adb logcat-d-s xxx > xxx.log //得到filter为xxx的日志,存入xxx.log,然后返回。
第二篇:Android自动化测试工具常用ADB命令总结
自动化测试常用ADB命令操作总结
自动化测试基本操作命令:
模拟点击操作:adb shell input tap 500 500(点击手机(500,500)坐标)模拟滑动屏幕操作:adb shell input swipe 200 500 400 500 模拟输入文本信息:adb shell input text helloworld 模拟按键命令:
adb shell input keyeventKEYCODE_VOLNME_DOWN按音量下键 adb shell input keyeventKEYCODE_VOLNME_UP
按音量上键 adb shell input keyevent 自动化测试中日志分析截图命令:
数据线连接手机截图:adb shell /system/bin/screencap–p /sdcard/screenshot.png 将截图复制到电脑盘中:adb pull /sdcard/screenshot.png E:download 输出所有已经安装应用: adb shell pm list package –f 查看预安APK adb shell pm list package-3 安装应用程序:
adb install –r 应用程序.apk 文件传输:
获取模拟器中的文件:adb pull
常用的发送键盘事件:
命令格式:adb shell input keyevent“value” 其中value以及对应的key code如下:
KeyEventValueKEYCODE 0 KEYCODE_UNKNOWN 1 KEYCODE_MENU 2 KEYCODE_SOFT_RIGHT 3 KEYCODE_HOME 4 KEYCODE_BACK 5 KEYCODE_CALL 6 KEYCODE_ENDCALL 7 KEYCODE_0 8 KEYCODE_1 9 KEYCODE_2 10 KEYCODE_3 11 KEYCODE_4 12 KEYCODE_5 13 KEYCODE_6 14 KEYCODE_7 15 KEYCODE_8 16 KEYCODE_9 17 KEYCODE_STAR 18 KEYCODE_POUND 19 KEYCODE_DPAD_UP 20 KEYCODE_DPAD_DOWN 21 KEYCODE_DPAD_LEFT 22 KEYCODE_DPAD_RIGHT 23 KEYCODE_DPAD_CENTER 24 KEYCODE_VOLUME_UP 25 KEYCODE_VOLUME_DOWN 26 KEYCODE_POWER 27 KEYCODE_CAMERA 28 KEYCODE_CLEAR 29 KEYCODE_A 30 KEYCODE_B 31 KEYCODE_C 32 KEYCODE_D 33 KEYCODE_E 34 KEYCODE_F 35 KEYCODE_G 36 KEYCODE_H 37 KEYCODE_I 38 KEYCODE_J 39 KEYCODE_K 40 KEYCODE_L 41 KEYCODE_M 42 KEYCODE_N 43 KEYCODE_O 44 KEYCODE_P 45 KEYCODE_Q 46 KEYCODE_R 47 KEYCODE_S 48 KEYCODE_T 49 KEYCODE_U 50 KEYCODE_V 51 KEYCODE_W 52 KEYCODE_X 53 KEYCODE_Y 54 KEYCODE_Z 55 KEYCODE_COMMA 56 KEYCODE_PERIOD 57 KEYCODE_ALT_LEFT 58 KEYCODE_ALT_RIGHT 59 KEYCODE_SHIFT_LEFT 60 KEYCODE_SHIFT_RIGHT 61 KEYCODE_TAB 62 KEYCODE_SPACE 63 KEYCODE_SYM 64 KEYCODE_EXPLORER 65 KEYCODE_ENVELOPE 66 KEYCODE_ENTER 67 KEYCODE_DEL 68 KEYCODE_GRAVE 69 KEYCODE_MINUS 70 KEYCODE_EQUALS 71 KEYCODE_LEFT_BRACKET 72 KEYCODE_RIGHT_BRACKET 73 KEYCODE_BACKSLASH 74 KEYCODE_SEMICOLON 75 KEYCODE_APOSTROPHE 76 KEYCODE_SLASH 77 KEYCODE_AT 78 KEYCODE_NUM 79 KEYCODE_HEADSETHOOK 80 KEYCODE_FOCUS 81 KEYCODE_PLUS 82 KEYCODE_MENU 83 KEYCODE_NOTIFICATION 84 KEYCODE_SEARCH 85 TAG_LAST_KEYCODE
第三篇:PMU调试命令总结--殷忠全提供
CSD361命令汇集
下列调试命令供大家在调试CSD-361系列PMU时使用,注意命令的输入顺序。□代表空格。
一、站内调试使用 1.修改文件属性:
cd□/mnt/nor/bin chmod□777□* 2.查看进程:
cd□/mnt/nor/bin ps□-A 3.查询文件:
cd□/mnt/nor/bin ls 停止PMU系统进程:
./killdog(杀看门狗命令,正常运行时系统进程处于保护状态,执行此命令后,才能完全停止PMU系统进程)./ProcGuard□-stop 启动PMU系统进程:./ProcGuard□-start 升级插件后重启插件: reboot 查询站内所有插件对时情况: cd□/mnt/nor/bin 4.5.6.7../dbgtime 8.查询CPU和内存占用率:
cd□/mnt/nor/bin./top 9.上传pmu文件和plat文件后,根据情况需重置文件:
./killdog
./ProcGuard□-stop./pmu□-c
./plat□-c 当提示成功生成新文件后,断电重启装置即可。
遇到主机液晶显示值与离线文件数据不一致时,可用该命令重新生成新配置文件。重新生成转化因子。10.重启looprd进程后查看:
./killdog
./ProcGuard□-stop./looprd□-stop./looprd□-v 该进程负责PMU实时数据存储。11.格式化计算插件:
./killdog
./ProcGuard□-stop./fdisk_cpu.sh 装置告警存储异常时使用。12.格式化管理插件:
./killdog
./ProcGuard□-stop
./fdisk_master.sh
13.查询开入/开出插件实时信息:
cd□/mnt/nor/bin./cantest
也可根据系统提示,进行开入开出传动测试。14.固化操作系统:
user su
sh□add_flash_drv./main
二、与主站调试时使用 1.查询通道状态:
cd□/mnt/nor/bin./killdog
./ProcGuard□-stop./pmu□1□-v 说明:“1”表示监视与主站通讯的通道号。在计算插件节点配置中可查询到通道号。
2.查询与主站通讯链路状态:
可登陆计算插件后直接ping主站地址(或本地网关),也可以登陆到bin目录下ping主站地址(或本地网关)。3.查询子站与主站端口是否建立:
cd□/mnt/nor/bin
netstat□-an|grep□(主站地址或者端口号)例:netstat□-an|grep□8000 netstat-an|grep□10.30.16.2
4.截取子站和主站通讯报文功能tcpdump功能。在V1.53版本中,已经实装,无需再上传,直接使用即可。登陆到计算插件 cd□/mnt/nor/bin./tcpdump□–i□eth2□host□10.64.3.7□-w□文件名
说明:eth2表示与主站连接的网口。要分析报文时,只需要在bin目录下导出文件即可,用mms-ethereal 或Wireshark软件打开分析。停止抓包按Ctrl+C。
以上所有命令供大家了解和掌握。相信还有很多命令没有碰到过,希望所有调试过CSD361的兄弟们能进一步完善。能为以后调试时带来方便。
第四篇:Android总结
Android四大组件:
Activity—表现屏幕界面
Service—后台服务
BroadcastReceiver—实现广播机制
ContentProvider—实现数据存储
Intent类:用来启动程序并传递信息的类
用于Activity、Receiver、Service之间进行交互的类,通过无参构造方法创建对象,增加其action、category、data、extra等属性进行信息传递,并通过Activity中的startActivity(Intent intent)进行界面的跳转;通过Context中的StartService(Intent intent)进行服务跳转;通过Context中的registerReceive(Intent intent)对广播进行注册,并通过sendBroadcast()进行无序消息发送,或可以通过SendOrderedBroadcast()进行有序的消息发送。Handler类:
用来发送和处理消息,并配合主线程完成UI的更新;消息Message/Runnable传递通过MessageQueue(消息队列,先进先出)进行传递,并通过Lopper进行接收,传递的消息可以为Message对象,也可以是Runnable对象;接收方法通过HandleMessage(Message msg)进行获取。SharedPreferences类:
一般用于第一次登录时的设置,或者是各个界面的一些小型格式设置,如字体等。是本地的小型共享数据库,可以通过Context的静态方法getSharedPreferences获得其对象,对象内的值均为键值对进行储存。通过SharedPreferences对象调用editor()获取SharedPreferences.Editor对象,向共享数据库中增加数据,putString(),并提交数据,commit();通过SharedPreferences对象获取共享数据库中的数据,getString()。
ViewPager:实现界面滑动的类;
通过设置OnPagerChangedListener设置ViewPager的监听事件;
实现流程:
①布局文件中设置ViewPager控件;
②代码中进行绑定控件;
③通过继承PagerAdapter抽象类进行设置适配器,并传递数据源;
④适配器中实现两个抽象方法,两个重写方法:getCount()—获取滑动界面的数量,isViewFromObject()—判断视图是否是来自于Object文件中;重写两个方法,分别为destoryItem—销毁指定位置的视图;InstantiateItem(),设置指定位置的视图;
Timer与TimerTask类:
Timer为计时器的类,通过无参构造方法可以获取对象,通过Timer.schedule(TimerTask task,long time)进行设置多久后执行某任务,当任务执行完后,取消计时的功能,Timer.cancle();TimerTask类为抽象类,实例化时,必须重写run方法;执行的内容,均在run方法中进行设置,并且执行时,已在子线程中进行执行。自定义View:用到的类有Paint、Canvas、Spec、SpecF、Path、View.MeasureSpec、Timer、TimerTask;
抽象类,通过子类继承,获取对象;在布局文件中绑定后,通过代码,设置自定义View的属性;自定义View中,通过重写OnMeasure方法,对布局文件中的尺寸进行测量,并由View中的setMeasureDimenson()方法,进行数据的保存;通过重写Ondraw方法,进行绘图;当需要绘制动态图形时,使用计时器Timer的schedule(TimerTask,long time,delay time2)方法,在time时间后,每隔time2时间,重写执行run方法中的内容;将耗时的操作设置在run方法中,并通过View中的invalidate()方法刷新主线程中的绘的图形,通过postInvalidate()刷新子线程中的图形。数据库:
常用的数据库有Oracle,需要安装和配置的大型收费数据库;MySQL是中型数据库,同样需要安装配置,但不需要收费;Sqlite是小型免费的嵌入式数据库,占用内存低,最新版本为3.0。Sqlite数据库需要通过SqliteDatabaseOpenHelper进行创建数据库,并通过SqliteDatabase进行数据库的操作。辅助类是抽象类,通过继承,重写两个方法,并在子类的构造方法中通过OpenHelper的构造方法(Context context,String SqlName,SqliteDatabase.CursorFactory factory,int version)进行数据库的创建,在onCreate方法中,进行数据库表的创建,在onUpdate中进行数据库的版本更新。在数据库的操作类中,执行exect方法,通过sql语句对数据库进行操作。Create table student(_id integer primary key auto increament ,name text);insert into student(_id,name)values(1,zx);delete from student where _id=1;update student set _id=2 where name=zx;select *from student;ListView、GridView适配器的优化:
将布局文件中的控件进行封装,当视图加载时,判断可变视图是否存在,当不存在时,通过布局文件获取视图,并新建封装类,将地址通过setTag()进行发送;当视图存在时,重复利用地址—getTag()。反射:
存储数据的方式:
共享数据库、数据库、文件、网络、内容提供者
广播:
广播传播时,需要接收者、发送者、广播频道;根据发送者的发送方式不同,分为有序广播、无序广播;有序广播为接收者有接收顺序,根据设置的优先级不同,确定先后顺序,接收者同时也是发送者,向后面的广播发送消息,发送过程中,可以添加信息,也可以停止广播的传输;无序广播,接收者之间无联系,均从发送者处接收信息;广播在传输过程中,不能被添加信息,也不可能被停止。广播在发送前,需要对接收者进行注册,注册方式有两种,动态注册、静态注册。动态注册,是在代码中进行,通过Context对象调用静态方法进行注册,所有的广播均可以用动态注册,其生命周期依赖于应用,相对于静态注册,比较节省内存;静态方法在清单文件中进行注册,部分系统广播不能通过静态注册进行,其生命周期依赖于系统,当系统启动,即运行接收广播,较耗内存。广播接收者需要继承BroadcastReceiver,并实现抽象方法onReceive(),通过回调接口,进行数据的传输。注意:广播发送前,必须进行接收者的注册,并且,当显示跳转时,不需要意图过滤器。安卓布局:九种布局
线性布局,水平或垂直方向两种格式,主要特点为权重,即规定各控件在视图中的占有的比例;
相对布局,相对于父控件或兄弟控件的布局,各控件需指定相对位置; 绝对布局,指定各控件在视图中的绝对位置,几乎不再使用; 表格布局,子布局放在行中,列由控件表示(TableRow); 帧布局:覆盖前面布局的布局,一般用于暂停按钮等; 风格布局:可以跨行、跨列的布局,占满换行;
左右侧滑:可以实现左右侧滑,通过设置主菜单和二级菜单设置左右两个菜单; 下拉刷新:设置下拉刷新、上拉加载的功能; 抽屉布局;
安卓版本及对应的API:
1.6—4;2—7;3—11;4—15;4.3—18;5—20;5.1—21;6—23;7—25; 安卓四层架构:
应用层:Java语言开发,主要从事App开发;
运行库层:Java语言与C语言,View视图、管理类等的开发; 架构层:C语言与Linux语言,各种框架、浏览器等; 内核层:Linux、C语言,开发各种驱动; 安卓四大组件:
Activity:界面,实现程序与用户之间的交换,有自己的生命周期,七个生命周期;4种启动模式 Service:
BroadcastReceive:三要素,发送者、接收者、发送频道(Intent);类型:有序(接收有序,有数据传送,可以拦截数据)、无序广播(相对);注册方式:静态注册,持久监听,占用内存比较高生命周期跟随系统,动态注册(代码中),所有广播都可以动态注册,部分系统广播不能动态注册,临时监听,占用内存较少,生命周期随应用进行;
ContentProvide:不能存放数据,五种存放数据方式之一,特点为:①为数据的获取等操作添加一个统一的接口②可以实现跨应用访问数据;③可以实现Android中通讯录、消息、音频、视频等的访问或操作;通过ContentReceive进行数据的访问,可以对数据进行增删改查操作。
动画: IO流: 序列化: AlertDialog:
Set实现类: 手机电量检测:
自定义SurfaceView:
自定义View:三个构造方法的区别
Message:Handler.obtain/new/Message.obtain
HttpUriConnection访问网络
gride 异步任务 动画
抽象类和接口 反射 克隆 序列化 侧滑的实现 数据库 Socket:
Gson解析
异步任务和子线程区别 WebView 版本更新 照片的圆角化
Collection与Collections Sql语句
MVP框架与MVC: TCP与UDP的区别: 一键分享的流程: Http协议的理解: 不使用框架访问网络: List集合与set集合: 自定义View的流程: 线性布局的特点: ViewPager的原理: 服务的启动方式:
Activity的启动方式: Xml数据解析:
第五篇:如何打开Android设备的USB调试模式
如何打开Android设备的USB调试模式
如何打开Android设备的USB调试模式
目前大部分刷机等工具都是采用 Adb 方式连接,所以需要您在设备上打开USB调试模式
Android 设备打开USB调试模式总共有三种不同方法,根据系统版本而不同,以下为 Android 所有系统版本对应的打开方法
壹2.1 ~ 2.3.7 系统打开方法:
• 点击手机 Menu键(菜单键),在弹出的菜单中选择 设置(Setting), 或在应用程序中找到设置 程序点击进入
• 进入设置界面的 应用程序 即可打开 USB调试模式
贰4.0 ~ 4.1.2 系统打开方法
• 点击手机 Menu键(菜单键),在弹出的菜单中选择 设置(Setting), 或在应用程序中找到 设置 程序点击进入
• 进入设置界面的 开发人员选项 即可打开 USB调试模式
叁4.2、4.3、4.4 系统打开方法 • 点击手机 Menu键(菜单键),在弹出的菜单中选择 设置(Setting), 或在应用程序中找到 设置 程序点击进入
• 点击 关于手机
• 找到内部版本号
• 连续点击七次 版本号
• 再 返回 设置菜单界面选择 开发者者选项
• 点击打开右上角的 开关, 即可打开 USB调试模式,• 打开USB调试模式后,下拉手机通知栏,将手机上连接电脑的USB模式设置为“仅充电”模式或“媒体设备(MTP)”或“同步”模式