码迷,mamicode.com
首页 > 数据库 > 详细

adb、package及activity

时间:2020-04-07 22:13:04      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:raw   file   方案   pack   显示   文件路径   rest   eve   mod   

1.   adb

adb连接手机参考:https://www.cnblogs.com/mind18/p/12592252.html,中的三.5

1.1.  adb介绍

  • ADB全名Andorid Debug Bridge。 是一个Debug工具。adb是一个标准的C/S结构的工具,其允许电脑与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试应用。
  • 包含如下几个部分:

  1.Client端,运行在开发机器中,即你的开发PC机。用来发送adb命令。

  2.Daemon守护进程, 运行在调试设备中, 即调试手机或模拟器。

  3.Server端, 作为一个后台进程运行在开发机器中, 即你的开发PC机. 用来管理PC中的Client端和手机的Daemon之间的通信。

  • 三者之间的通信:Client<—>Server<—>Daemon

1.2.  工作原理

  • 启动一个 adb 客户端时,此客户端首先检查是否有已运行的 adb 服务器进程。如果没有,它将启动服务器进程。当服务器启动时,它与本地 TCP 端口 5037 绑定,并侦听从 adb 客户端发送的命令—所有 adb 客户端均使用端口 5037 与 adb 服务器通信。
  • 目前很多PC客户端手机助手也是基于adb连接原理进行封装的。

1.3.  常用命令

1.查看adb版本号:adb version

2.连接夜神模拟器:adb connect 127.0.0.1:62001(夜神模拟器的端口是规律的,第一个模拟器端口是62001,第二个模拟器端口是62025,第三个是62025+1,依此类推。)

a)模拟器1:Android 4.4.2 地址:127.0.0.1:62001

b)模拟器2: Andriod 5.1.1 地址:127.0.0.1:62025

3.获取设备号(查看连接设备是否成功):adb devices

4.获取系统版本:adb -s 设备号 shell getprop ro.build.version.release

5.adb shell(手机shell命令行):进入adb shell后有两种状态显示:#代表有root权限,$代表没有root权限

6.安装app到手机:

Ø  adb install 路径/xx.apk(默认安装)

Ø  adb install -r 路径/xx.apk(覆盖安装)

Ø  adb –s 127.0.0.1:62001 install 路径/xx.apk(指定设备安装)

如遇到报错:Failure [INSTALL_FAILED_INVALID_URI],解决方案: cmd命令行下执行以下命令:第一步、adb remount;第二步、adb shell;第三步、cd /data;第四步、chmod 777 local;重新安装apkok了。

7.卸载手机app

Ø  首先进入设备的/data/app目录找到app包名

adb shell

cd /data/app/

Ø  执行命令删除

adb uninstall com.wandoujia.phoenix2(安装后的包名系统会在末尾加上-1之类的数字,要去掉才可以成功卸载。软件名称为包名,不要包含.apk

adb uninstall | -k <apkName>(加-k参数,为卸载软件但是保留配置和缓存文件)

8.查看设备上面安装的应用包名:adb shell pm list package

9.获取app启动包名和启动名(手机需要先打开对应app)

Mac/Linux: ‘adb shell dumpsys window windows | grep mFocusedApp’

Windows 终端运行 ‘adb shell dumpsys window windows | findstr mFocusedApp

10.获取app启动时间:adb shell am start -W 包名/启动名

示例:adb shell am start -W com.yly.drawpic/.MainActivity

解释:TotalTimeapp自身启动时间;WaitTime:系统启动应用时间

11.文件读取写入:

Ø  发送文件到手机:adb push 电脑端文件路径 手机端存储的路径

示例:adb push C:\Users\win\Desktop\xx.png /sdcard

Ø  从手机拉取文件到pcadb pull 手机端文件的路径 电脑端存储文件路径

示例:adb pull /sdcard/xx.png C:\Users\win\Desktop

Ø  注意:由于权限问题,不能直接pull到电脑磁盘根目录,否则会报错:

C:\Users\Shuqing>adb pull /sdcard/server.log  D:\\

adb: error: cannot create file/directory ‘D:\\‘: No such file or directory

12.屏幕截图:

$ adb shell screencap /sdcard/screen.png

adb pull /sdcard/screen.png  C:\Users\Shuqing\Desktop

13.查看手机运行日志:adb logcat

14.adb服务启动和关闭:

adb kill-server(关闭adb服务)

adb start-server(开启adb服务)

如果5037端口被占用可以使用如下命令释放端口

Ø  C:\Users\Shuqing> netstat -ano | findstr "5037"

TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       11072

TCP    127.0.0.1:5037         127.0.0.1:59519        TIME_WAIT       0

Ø  taskkill -f -pid XXX

15.adb帮助:adb –help

2.   package和activity

2.1.  package

  • app中这个Package是唯一的,在做app自动化时,我们就需要知道Package。注意:和.apk文件包名不同。
  • Package获取:

  A.通过UIAuto可获取不同app的包名。

  B.查看设备上面安装的应用包名:adb shell pm list package

  C.获取app启动包名和启动名(手机需要先打开对应app):

   Mac/Linux: ‘adb shell dumpsys window windows | grep mFocusedApp’

   Windows 终端: ‘adb shell dumpsys window windows | findstr mFocusedApp’

2.2.  activity

1、介绍:

  • Android中,activity是所有程序的根本,所有程序的流程都运行在activity之中,activity可以算是开发者遇到的最频繁,也是android当中最基本的模块之一。
  • 在android的程序中,activity一般代表手机屏幕的一屏。如果把手机比作一个浏览器,那么activity就相当于一个网页。在activity当中可以添加一些Button、Checkbox等控件,可以看到activity概念和网页的概念相当类似。
  • 一般一个android应用是由多个activity组成的,多个activity之间可以进行相互跳转。例如,按下一个Button按钮后,可能会跳转到其他的activity,与网页跳转稍微有点不一样的是,activity之间的跳转有可能返回值。

2、activity的生命周期:

  • “产生、运行、销毁”,但是这其中会调用许多方法onCreate(创建) 、onStart(激活) 、onResume(恢复) 、onPause(暂停) 、onStop(停止) 、onDestroy(销毁) 、onRestart(重启)。

3、Activity获取:

  • 研发提供
  • Aapt(t即Android Asset Packaging Tool,在SDK的build-tools目录下。该工具可以查看,创建, 更新ZIP格式的文档附件(zip, jar, apk)。也可将资源文件编译成二进制文件),获取命令如下:

   aapt dump badging xxxx.apk

   aapt dump badging xxxx.apk | find "launchable-activity"

 

 

adb、package及activity

标签:raw   file   方案   pack   显示   文件路径   rest   eve   mod   

原文地址:https://www.cnblogs.com/mind18/p/12656352.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!