通过aapt获取packageName和Launch Activity

若使用uiautomator进行android APP的自动化测试,首要的一步是启动APP,而APP的Package Name和Launch Activity Name是启动的必要参数。

在UI Automator View中,通过点击控件,从属性区可以查找到package name属性。但并无Activity的任何信息。

Android SDK提供了辅助工具aapt,用于打包生成APK,查看APK信息,对APK内容进行添加/删除等操作。

appt,即Android Asset Packaging Tool,位于SDK的build-tools目录下的各个版本中。

通过aapt获取packageName和Launch Activity_第1张图片

通过aapt获取packageName和Launch Activity_第2张图片

从build-tools24.0.0开始,有了aapt2.exe,但相关文档较少。若有同学知晓,还望赐教。

这里我们只关注如何如何使用aapt.exe获取package name和launch activity.

在命令行里输入

aapt dump badging C:\D\proj\HugoDemo\app\HugoDemo.apk

当然也可以将结果输出至某一文件中

aapt dump badging C:\D\proj\HugoDemo\app\HugoDemo.apk >log.txt

结果如下:

package: name='com.breakloop.hugodemo' versionCode='1' versionName='1.0' platformBuildVersionName='8.0.0'
sdkVersion:'15'
targetSdkVersion:'26'
application-label-af:'HugoDemo'
...
application-label-zu:'HugoDemo'
application-icon-160:'res/mipmap-mdpi-v4/ic_launcher.png'
application-icon-240:'res/mipmap-hdpi-v4/ic_launcher.png'
application-icon-320:'res/mipmap-xhdpi-v4/ic_launcher.png'
application-icon-480:'res/mipmap-xxhdpi-v4/ic_launcher.png'
application-icon-640:'res/mipmap-xxxhdpi-v4/ic_launcher.png'
application: label='HugoDemo' icon='res/mipmap-mdpi-v4/ic_launcher.png'
launchable-activity: name='com.breakloop.hugodemo.MainActivity'  label='' icon=''
feature-group: label=''
  uses-feature: name='android.hardware.faketouch'
  uses-implied-feature: name='android.hardware.faketouch' reason='default feature for all apps'
main
supports-screens: 'small' 'normal' 'large' 'xlarge'
supports-any-density: 'true'
locales: 'af' 'am' 'ar' 'az' 'be' 'bg' 'bn' 'bs' 'ca' 'cs' 'da' 'de' 'el' 'en-AU' 'en-GB' 'en-IN' 'es' 'es-US' 'et' 'eu' 'fa' 'fi' 'fr' 'fr-CA' 'gl' 'gu' 'hi' 'hr' 'hu' 'hy' 'in' 'is' 'it' 'iw' 'ja' 'ka' 'kk' 'km' 'kn' 'ko' 'ky' 'lo' 'lt' 'lv' 'mk' 'ml' 'mn' 'mr' 'ms' 'my' 'nb' 'ne' 'nl' 'pa' 'pl' 'pt' 'pt-BR' 'pt-PT' 'ro' 'ru' 'si' 'sk' 'sl' 'sq' 'sr' 'sr-Latn' 'sv' 'sw' 'ta' 'te' 'th' 'tl' 'tr' 'uk' 'ur' 'uz' 'vi' 'zh-CN' 'zh-HK' 'zh-TW' 'zu'
densities: '160' '240' '320' '480' '640'

可见,我们可以得到很多有用信息,包括

package: name='com.breakloop.hugodemo' 
versionCode='1' 
versionName='1.0' 
platformBuildVersionName='8.0.0'
sdkVersion:'15'
targetSdkVersion:'26'
launchable-activity: name='com.breakloop.hugodemo.MainActivity'

对于aapt指令的详解,可以参照http://www.jianshu.com/p/8d691b6bf8b4。

你可能感兴趣的:(android测试,Android自动化测试)