zoukankan      html  css  js  c++  java
  • 查看apk包名和Activity名

    今天遇到一个bug,比较有意思。

    情景:

    • 测试一个钻石提现功能,条件是账户里必须有价值等于或者超过50美元的钻石,才允许提现,否则无法进行下一步。

    测试步骤:

    1. 提现页面输入一个小于50美元的提现金额,不点击下一步
    2. 进入手机shell,获取root权限,执行 am start -n com.cs.test/.activity.WithdrawCardListActivity,回车之后就能进入选择银行卡页面
    3. 输入银行卡卡号,下一步,提现了

        这个测试的意图就是,在不满足判断条件的情况下,越过app的验证,继续后面的操作。

        这里要学习的就是 am start -n com.cs.test/.activity.WithdrawCardListActivity 这个命令。

        前面的篇章有介绍过,am start -n <包名>/<包名>.<Activity名> 这条命令的作用就是启动程序或者直接启动某个Activity,就像这个测试中的跳转一样。

        那么问题来了,怎么获取这个app的包名和Activity名呢?

    查看包名的方法有以下两种但不局限于这两种:

    • aapt dump badging <apk文件路径> ,aapt是SDK的一个小工具,在build-tools里面

              

    • 使用re文件管理器,查看/data/app

    查看Activity名的方法

    • adb shell dumpsys activity | grep "Card"          -----Linux
    • adb shell dumpsys activity | findstr "Card"        -----Windows

              

        记得一定要进行过滤,因为一个app会有很多个Activity,不过滤会找得头都晕的。

        然后,问题又来了,aapt 这个命令又该怎么用呢?知道aapt可以用来查看包名、activity名、版本等很多信息,后面用到再逐个去了解,先知道有这么回事儿就行了。

         

  • 相关阅读:
    MySQL/MariaDB数据库的各种日志管理
    MySQL/MariaDB数据库的事务和隔离级别
    MySQL/MariaDB数据库的并发控制
    MySQL/MariaDB数据库的索引工作原理和优化
    MySQL/MariaDB数据库的查询缓存优化
    安卓(Android)开发基础知识
    typora快捷键
    理解ECS的概念和Unity中的ECS设计
    UGUI合批原理笔记
    SourceTree下载bitbucket代码
  • 原文地址:https://www.cnblogs.com/mgzc-1508873480/p/7066266.html
Copyright © 2011-2022 走看看