目录



1、包名(appPackage)

包名(appPackage)在Android系统中是判断一个APP的唯一标识,不同的App可以有同样的名字,但是它的包名不可以相同。

例如我可以自己编译生成一个APP也叫“微信”,但是我APP的包名不能为​​com.tencent.mm​​(微信的包名),如果我指定的包名和微信一致了,那么一台手机上只允许安装这两个APP中的其中一个。

说到这很多人就会有疑问,如果有人恶意做了一个和微信内容一模一样的APP,名字和包名都和微信一样,那怎么分辨呢?

Android中为了防止这样,还做了一个叫签名的东西,微信的签名一般我们是没有的,所以就可以通过签名来标识出这款APP到底是谁的了,有兴趣了可以了解下签名,这里就不再赘述了。

总结:

  • 包名是APP的唯一标识。
  • 包名不是APP名字。

下面我们就介绍几种查看包名的方法:

(1)看源代码

一般我们测试的APP都是自己公司的APP,因此当有源代码的时候,我们就可以非常容易的知道它的包名。

找到工程目录下的​​AndroidManifest.xml”​​文件(就是项目中的配置文件),打开后,如下图:

『与善仁』Appium基础 — 6、补充:APP的包名和启动名_android

这样就可以找到​​package​​这一项查看即可。

(2)查看手机系统设置

我这里介绍谷歌原生系统,其他的一些小米、魅族等自己定制后的系统的查看方法也大同小异。

操作步骤:

​“设置” -> “应用” -> “正在运行”(这一步需要注意)-> 选择要查看的应用。​

这个时候就能看到了,如下图:

『与善仁』Appium基础 — 6、补充:APP的包名和启动名_包名_02

(3)查看 /data/data/ 目录

当我们安装一款应用的时候,系统就会在 ​​/data/data/ ​​目录下建一个目录,并且文件名就是当前这个应用的包名,我们看一下手机里这个目录下都有些什么文件吧:

『与善仁』Appium基础 — 6、补充:APP的包名和启动名_android_03

如果你知道你要查看的APP包名中的一个关键词的话,会更快的找到你应用的包名,否则建议使用其他方法。此方法手机需要​​root​​。

(4)GT软件

GT的界面中自带了这个功能,从应用宝上下载GT,然后选择一个被测应用,就可以看到了,如下图:

『与善仁』Appium基础 — 6、补充:APP的包名和启动名_包名_04

2、启动名(appActivity)

启动名(​​appActivity​​)也可以叫启动页。

简单的来说​​appActivity​​指的就是APP中我们看到的页面,一个页面就是一个​​appActivity​​,通常第一页启动起来的页面我们就称之为 “启动页”。

我们在做自动化测试中,通常第一步都是启动被测应用,而启动的方法就是利用 “包名/启动页”,因此我们在测试的过程中通常需要知道这个​​appActivity​​的名称。

下面我就介绍几种查看启动页​​appActivity​​的方法。

含义暂时理解为一个APP页面就是一个启动名或者一类页面就是一个启动名。

下面我们就介绍几种查看启动名的方法:

(1)看源代码

同样在源代码中我们可以直接找到启动页的​​Activity​​的名称。 这里需要找工程目录下的 ​​AndroidManifest.xml​​配置文件吗,文件中包含​​category​​的值为​​android.intent.category.LAUNCHER​​”的​​appActivity​​就是我们要找的:

『与善仁』Appium基础 — 6、补充:APP的包名和启动名_android_05

当我们知道启动页​​appActivity​​之后,就可以直接输入命令:

​adb shell am start com.bryan.testbattery/com.bryan.testbattery.activity.MainActivity​

拉起应用了。

(2)Logcat软件

关闭APP,打开​​Logcat​​,然后启动你的APP,这个时候仔细看​​log​​日志,一般​​tag​​为​​ActivityManager​​的会记录下这么一段​​log​​,而这里面就记录了启动页的​​appActivity​​,如下图:

『与善仁』Appium基础 — 6、补充:APP的包名和启动名_包名_06

(3)通过dump package 包名的方式

使用命令查看后,同样是找到包含​​category.LAUNCHER​​字样的​​appActivity​​即可。

『与善仁』Appium基础 — 6、补充:APP的包名和启动名_微信_07

(4)Monkey

Monkey可以设置日志的详细程度,当我们指定为​​-VVV​​的时候,并且指定模拟随机事件为一次,即可查看:

『与善仁』Appium基础 — 6、补充:APP的包名和启动名_android_08