adb环境:

一、安装jdk

jdk

一、为什么要安装jdk,jdk是什么?

JDK是java软件开发工具包(Java Development Kit)的简称,专门用于支持java开发的,要想开发java程序就必须安装JDK。没有JDK的话,无法编译运行Java程序。
因为JDK包含的基本组件包括以下文件:

  javac.exe,用于编译java文件,将java文件编译成class文件

  java.exe,用于运行class文件,将class文件运行出结果

jre(Java Runtime Environment,Java运行环境,java程序运行所必须的),jdk包含编译器运行器和类库(3500多个类常用150多个)等,而jre包括Java虚拟机(jvm)、Java核心类库和支持文件。不过现在的jdk都帮我们集成了jre,所以安装jdk就等于安装了两个。

 

  当然安装jdk只是为了在cmd控制台能够编译运行我们写的java文件,当我们拥有eclipse或其他编程软件的时候,它们是自带jdk的,我们不另外安装也是可以的。

二、java配置环境变量:

见java环境搭建随笔

三、安装android-sdk-windows

JavaJDK和SDK的区别如下:

1、SDK是Software Development Kit的缩写,中文意思是“软件开发工具包”。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。SDK是一系列文件的组合,它为软件的开发提供一个平台(它为软件开发使用各种API提供便利)。

2、JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit)。

3、可以认为jdk只是sdk的一种(子集),因为它是开发java程序的一个平台,开发其他程序的sdk可以没有jdk。比如你下载了一个软件开发平台 eclipse-SDK-3.2.2-win32.zip,它本身里面是没有jdk的。但是只要开发java程序就必须使用jdk。

四、Android配置环境变量

见Android环境搭建随笔

五、adb(Android debug bridge):

Android调试桥,安卓的开发人员与测试人员的调试测试工具,debug工具。

通过电脑操作adb,手机连接电脑。(通过adb操作手机,查看手机的一些信息,对手机进行测试)

连接设备:

1.真机

步骤:

1.手机上打开开发者权限:(不同手机型号操作有区别)

设置→关于手机→版本号连续点击七次→打开开发者权限

2.手机与电脑通过usb连接,在手机上的设置中打开usb调试模式

3.电脑上:进入cmd→输入 “adb devices”→手机上弹框点允许(即可通过adb来控制手机。device 设备 devices 多个设备)

java 没有jstat命令 java没有jdk能运行吗_包名

模拟器:

adb connect ip地址断开就是 disconnect

连接设备 (例:连接mumu模拟器 adb connect 127.0.0.1:7555)

 

java 没有jstat命令 java没有jdk能运行吗_java 没有jstat命令_02

 

 

六、adb中的命令

1.adb devices

显示当前连接的 adb 设备,会打印设备的序列号及其对应的状态

java 没有jstat命令 java没有jdk能运行吗_包名_03

2.adb shell

进入Android 系统的 shell 模式(adb环境)

 

java 没有jstat命令 java没有jdk能运行吗_java 没有jstat命令_04

 

退出:exit

java 没有jstat命令 java没有jdk能运行吗_java 没有jstat命令_05

 

停止一个命令是按 ctrl c

3.adb logcat

“adb logcat”查看日志,会不停的滚动出现信息(停止出现:ctrl +c,此时的命令并没有停止,需要结束进程),这时信息太多、页面不断的滚动,要方便查看,需要定向到本地,把日志重定向写到log.txt里面,就可以在本地查看:

① 在本地新建一个记事本(d盘下新建log.txt)

②输入”adb logcat > PC端记事本的地址“ (>是重定向符号)

java 没有jstat命令 java没有jdk能运行吗_Android_06

 

 ③记事本中ctrl +f 搜索(注意:这些日志内容不一定都是错误error)

场景:app出问题,程序员要求把错误信息给她,你具体怎么操作?(比如app出现闪退)

解决:在本地新建记事本,启动命令“adb logcat > 记事本的地址”,打开要测试的程序,出现闪退问题后,然后ctrl c停止日志定向,这时刚才的闪退情况就已经记录在日志中了,打开日志找出刚才的错误信息,发送给程序员。

4 .apk格式的安装:

adb install PC安装包的地址

如:adb install D:\tcw_146187.apk(比如d目录下放的 tcw_146187.apk这个程序)

java 没有jstat命令 java没有jdk能运行吗_java 没有jstat命令_07

 注意:要在手机设置里打开usb安装按钮,并且把手机提示确定后才能安装上。(不同手机操作有区别)

5 .apk格式的卸载:

先找出包名,方法有下面三种。

adb uninstall 包名 (abd uninstall xxx.apk)

 

怎么查找PACKAGE,解决方案具体如下几种方案:(1、3常用)

1、adb shell am monitor (如果之前没退出,要先exit,monitor是监听器)

回车命令后,在手机上点开这个app,会出现以下三行内容,就能看到包名了。

java 没有jstat命令 java没有jdk能运行吗_包名_08

 

2、adb shell dumpsys window | findstr mCurrentFocus

手机上打开app后输入这个命令,会出现文件包

java 没有jstat命令 java没有jdk能运行吗_Java_09

 

3、adb shell

            pm list packages

   输入这两行命令,会出现手机所有的包,在里面找

java 没有jstat命令 java没有jdk能运行吗_Android_10

 

 

java 没有jstat命令 java没有jdk能运行吗_包名_11

 

7.adb shell service list #

显示当前运行的系统服务

8.adb shell dumpsys activity top #

(adb shell dumpsys activity top | findstr parkingwang)findstr是过滤

显示当前最前端的 Activity

9.adb shell cat /proc/cpuinfo #

5.adb shell cat /proc/meminfo #

显示设备的内存使用情况

10.adb shell pm list packages -3 #

列出除了系统应用的第三方应用包名

11.adb shell wm size #

查看屏幕分辨率

12.adb root #

切换到 root 用户

13.pull和push

pull 获取 (手机文件放在电脑)

push上传(电脑文件放在手机)

adb pull [android端文件名] [PC本地路径]

adb push [PC端文件名] [android 端路径]

 

14.查看进程:

 adb shell ps | findstr 包名 (要先进行一步获取包名。findstr是Windows的过滤)

java 没有jstat命令 java没有jdk能运行吗_Android_12

 

 获取到进程的信息

15.获取内存信息:

“adb shell dumpsys meminfo 进程id” (要先查看进程id)

java 没有jstat命令 java没有jdk能运行吗_Java_13

 

 

16.获取cpu使用信息:

“adb shell top -n 1 | findstr 进程ID ”

java 没有jstat命令 java没有jdk能运行吗_Android_14

 

 

17.获取电量信息:

“adb shell dumpsys battery”

 

java 没有jstat命令 java没有jdk能运行吗_Android_15

 

 

18.获取uid

adb shell cat /proc/进程ID/status (注意:如果app关了,进程id就会变了)

java 没有jstat命令 java没有jdk能运行吗_java 没有jstat命令_16

 

 

19.获取流量信息:

adb shell cat/proc/uid-stat/<uid>/tcp_rcv

(例:adb shell cat/proc/uid-stat/<10038>/tcp_rcv)

crash,即崩溃,anr是crash的一种。在程序中可能会出现你未捕获到的异常,这就造成了崩溃。

ANR(Application Not Response)是指在Android上,应用程序响应不够灵敏时,系统会向用户显示的一个对话框。