zoukankan      html  css  js  c++  java
  • Appium Android 获取包名和 Activity 的几种方法 (转)

    本文档主要记录“获取包名和 Activity 的方法”,用于自动化测试时启动APP。以下方法主要来源于网络和社区同学的贡献,特此感谢!

    1. 方法一: pm list package查看包名

    adb shell pm list package -f
    

    将获取手机内所有apk对应的包名和路径

     
    adb shell pm list package -3 -f   #获取第三方apk的包
    
     

    2. 方法二:dumpsys window(本人最常用)

    先打开需要查找的apk后,再敲入以上命令

    adb shell dumpsys window w | findstr / | findstr name=
    或
    adb shell dumpsys window |findstr mCurrent
    或
    adb shell "dumpsys window w|grep /|grep name=|sed 's/mSurface=Surface(name=//g'|sed 's/)//g'|sed 's/ //g'"
    

    注:此处用sed 将部分字符串替换为空,格式为“sed 's/要被取代的字串/新的字串/g'”

     
     
     

    3. 方法三:logcat日志抓取LAUNCHER

    adb shell “ logcat | grep android.intent.category.LAUNCHER "
    或
    adb logcat ActivityManager:I *:s
    
     
     

    4. 方法四:dumpsys activity

    先启动需要的查找的apk,再敲入以上命令

    adb shell dumpsys activity | grep mFocusedActivity
    
     

    5. 方法五:logcat日志抓START

    C:UsersAdministrator>adb shell
    root@msm8916_32_512:/ # logcat | grep START
    

    先启动需要查找的apk,再敲入以上命令,找到最后一个ActivityManager

     

    6. 方法六:aapt工具(推荐使用)

    使用aapt工具 ,适合给程序自动获取 apk 的相关信息,非常实用,
    //aapt是sdk自带的一个工具,在sdkuilds-tools目录下
    1.以微信为例,命令行中切换到aapt.exe目录执行输入以下命令

    aapt dump badging D:weixin658android1060.apk
    

    2.运行后的结果中以下两行分别是应用包名package和入口activity名称,另外可看到应用使用的权限、支持的语言等信息

     
     

    7. 方法七:apktool反编译app后查看AndroidManifest.xml

    1.使用apktool反编译app

    java -jar D:Toolsapktool_2.2.3.jar d D:Toolsweixin658android1060.apk
    
     
     
     

    2.打开AndroidManifest.xml文件
    manifest节点的package属性值是应用的包名:

     

    查找android.intent.action.MAIN和android.intent.category.LAUNCHER对应的activity,该activity对应的android:name属性既是入口activity名称,android.intent.action.MAIN决定应用程序最先启动的Activity,android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里

     

    8. 方法八:使用monkey 命令查看Activity

    adb shell monkey -p com.tencent.mm -c android.intent.category.LAUNCHER -v -v 0|findstr Using
    
     

    注:
    1. findstr 和 grep 查找字符串说明
    findstr:windows平台查找字符串命令, 一般格式如下:

    adb shell  xxx  | findstr xxx
    

    grep:linux平台查找字符串命令,一般先adb shell 进入shell命令行再使用,也可直接使用,把shell 后面带grep的命令加双引号即可:

    adb shell  "xxx  | grep xxx"
    
     
    原文地址:https://testerhome.com/topics/9209
    感谢作者辛苦总结
  • 相关阅读:
    8-15 globalCompositeOperation阶段练习二
    8-13 canvas专题-阶段练习二(下)
    8-12 canvas专题-阶段练习一(上)
    最长公共字串
    8-23 canvas专题
    8-2 canvas专题-线条样式
    7-81 js课程小结
    7-80 HTML5新增的JS选择器
    VS快捷键教程
    java.text.NumberFormat使用方法
  • 原文地址:https://www.cnblogs.com/kaerxifa/p/8543138.html
Copyright © 2011-2022 走看看