一、使用aapt(Android Asset Packaging Tool)工具获取:

1.配置Android环境:

a.添加build-tools/android路径到系统环境变量的中Path中,注意需要用分号隔开;

b.添加platform-tools路径到系统环境变量中的Path中,(platform-tools在SKD中);

c. 将SDK文件目录复制配置到环境变量Path中

d.验证配置是否成功:cmd—输入命令:aapt 按回车,提示:Android Asset Packaging Tool 等一系列信息

2.输入获取命令:aapt dumb badging + 被测APK的存放路径和名称(如:aapt dumb badging d:\APK源文件\ContactManager.apk),按回车

如:①查找package: name='com.example.android.contactmanager'

(包名为package: com.example.android.contactmanager')

②查找:launchable-activity: name='com.example.android.contactmanager.ContactManager'

Activity为: com.example.android.contactmanager.ContactManager

3.输入保存命令:aapt dumb badging+被测APK的存放路径和名称+ +>a.txt

如:aapt dumb badging d:\APK源文件\ContactManager.apk >j.txt

(3为保存已获取到的APK信息,方便复制)

二、查看源码AndroidManifest.xml

  1. 下载Apktool,将2个包解压到同一个文件夹下,共有3个文件:aapt.exe,apktool.bat,apktool.jar;
  2. 在命令行下定位到apktool.bat文件夹,输入以下命令:apktool.bat d apk路径解压目录(此步骤为反编译);
  3. 解压目录下查找到AndroidManifest.xml,用Notepad打开该XML文档
  4. 在XML文档中查找:package和<activity>

三、使用Appium获取包名和Activity名称

  1. 启动Appium,点击Android Settings(首页右上角安卓机器人)—勾选APPlication Path –点击choose—选择被测APK路径
  2. 导入被测APK后,再次点击Android Settings即可查看到Package 和LaunchActivity

四、使用adb获取单个apk的包名和Activity名称:

  1. 配置adb环境

a. 我的电脑点击右键-属性-高级-环境变量;

b.  环境变量中新建PATH,变量值输入adb.exe工具所在目录;

c.  检查是否成功,启动命令行,输入adb;

2.  手机连接电脑,开启USB调试,打开app,输入命令:adb devices,查看手机是否连接到电脑;

3.  doc窗口输入命令行:adb shell dumpsys activity | find "mFocusedActivity" ,查看当前apk的包名;

4.  doc窗口输入命令行:adb logcat grep ActivityManager,查看当前正在运行的Activity;

五、使用adb获取全部apk的包名,然后再获取单个apk的包名和Activity名称

1.  手机连接电脑,输入命令:adb devices,查看手机是否连接到电脑;

2.  doc窗口输入命令行:adb shell pm list packages:列出所有的包名,找到所查看包的包名

Android Apk获取包名和Activity名称的更多相关文章

  1. monkeyrunner_获取apk的包名和activity名

    一.使用adb获取单个apk的包名和Activity名称: 1.配置adb环境 a. 我的电脑点击右键-属性-高级-环境变量; b.  环境变量中新建PATH,变量值输入adb.exe工具所在目录; ...

  2. Appium Android 获取包名和 Activity 的几种方法 (转)

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

  3. 如何通过apk获得包名及Activiy 名称

    一.使用重签名工具Robotium

  4. 二.第一个自动化demo,打开APP-如何获取包名和activity。(真机)

    环境配置成功后,我们就可以进行第一个自动化测试了.用真机则不需要安装安卓模拟器.以一个简单的打开APP为例. 一.获取包名和activtity      启动一个app,我们需要知道它的平台.版本号. ...

  5. 如何查看Android apk的包名?

    有以下四种方法可以查看apk的包名,之后有别的方法,会接着更新文档的. 1. 安装APK包名查看器; 2. 源码AndroidManifest.xml中查看package包名; 3. 利用" ...

  6. 获取Android apk的包名

    Read the package name of an Android APK aapt dump badging <path-to-apk> | grep package:\ name

  7. aapt获取包名和activity,启动app

    1.android sdk的环境安装好了之后,在build-tools\** 的目录下找到aapt.exe,将这个路径设置环境变量,添加到path下 2.在cmdl里面输入:aapt,出现以下内容就是 ...

  8. android中获取包名,类名

    LogUtil.i("getPackageName()=" + getPackageName()); //Context类 LogUtil.i("getClass().g ...

  9. android获取APP 包名和activity

    1.连接设备并启动被测试app应用 2.打开cmd窗口 3.windows获取包名和activity    adb shell dumpsys activity |find "mFocuse ...

随机推荐

  1. C#异步Socket示例

    C#异步Socket示例 概要 在C#领域或者说.net通信领域中有着众多的解决方案,WCF,HttpRequest,WebAPI,Remoting,socket等技术.这些技术都有着自己擅长的领域, ...

  2. c#开发之多国语言解决方案gnu.gettext + poedit

    1.工具简介 1.1.关于i18n i18n其来源是英文单词 internationalization的首末字符i和n,18为中间的字符数是“国际化”的简称. i10n为资源本地化,全称为Locali ...

  3. Java中“==”和equals()方法

    这是在Thinking in Java中看到的. 第一个程序 public class Exponents { public static void main(String []args){ Inte ...

  4. ASP.NET MVC进阶

    ASP.NET MVC进阶 一.ASP.NET MVC中的AJAX应用 首先,在ASP.NET MVC中使用自带的ajax功能,必须要导入2个js文件(顺序不能颠倒): ASP.NET MVC提供了2 ...

  5. rapid-framework脚手架快速搭建springMVC框架项目

    rapid-framework介绍:   一个类似ruby on rails的java web快速开发脚手架,本着不重复发明轮子的原则,框架只是将零散的struts(struts2)+spring+h ...

  6. 实时预览的在线 Markdown 编辑器 - Markdoc

    实时预览的在线 Markdown 编辑器 - Markdoc 最近组内需要为一些项目和系统写文档,发表在公司内的文档平台上,这个平台并不支持markdown,所以打算做一个在线markdown编辑器, ...

  7. Web层后端权限模块

    从零开始编写自己的C#框架(19)——Web层后端权限模块   不知不觉本系统写了快三个月了,最近写页面的具体功能时感觉到有点吃力,很多地方如果张嘴来讲的话可以说得很细,很全面,可写成文字的话,就不太 ...

  8. WCF、Web API、WCF REST、Web Service 区别

    Web Service It is based on SOAP and return data in XML form. It support only HTTP protocol. It is no ...

  9. 解决设置redmineblacklog的按钮无效问题

    安装了redemin+backlog后,想要设置backlog, 先用管理员登录,然后访问网页: http://localhost/settings/plugin/redmine_backlogs 发 ...

  10. C++中的静态多态和动态多态

    C++中的静态多态和动态多态 今天的C++已经是个多重泛型编程语言(multiparadigm programming lauguage),一个同时支持过程形式(procedural).面向对象形式( ...