获取Android运行apk的packagename 和activityname

自动化测试中经常遇到这个问题,关于这个题目,方法众多,咱的目的是找个比较简单靠谱的:

方法一:

先进入cmd窗口,adb shell 后:

cd /data/data

ls

可以看到包名了吧,缺点很明显,必须root手机先

方法二:

先进入cmd窗口:

adb shell ps|findstr /i "keyword"

要搜哪个不就都行了,这个不用root手机了吧,嗯,这个还凑活

方法三:

在手机上启动了程序,usb连接电脑,然后启动android-sdk/tools/monitor.bat,device里面也就可以看到包名了吧。

上面三种方法查看包名都还凑活,可能稍微需要猜猜,不过都能达到目的,但是启动的任务窗口(activity)是啥呢,这几个方法都看不到。

得,不卖关子了,直接推出我的建议方法:

方法四:

首先在手机上运行一下程序,进入第一个界面就行了,别去多多操作了,usb连接电脑,进入cmd窗口运行:

adb shell "dumpsysusagestats"|findstr /i "keyword"

这个也不用root手机的,原本这个dumpsys usagestats 是用来记录打开了程序的哪些activity次数和时间一类信息的,这里可以用来直接看看你的这个程序开启了哪些activity。

你可以试试在cmd下执行下面的命令:


微信


adb shell "am start -n com.tencent.mm/com.tencent.mm.ui.LauncherUI"


手机QQ


adb shell "am start -n com.tencent.mobileqq/com.tencent.mobileqq.activity.SplashActivity"


微博


adb shell "am start -n com.sina.weibo/com.sina.weibo.SplashActivity"


QQ空间


adb shell "am start -n com.qzone/com.tencent.sc.activity.SplashActivity"

不过如果你可以直接看到程序项目中的AndroidManifest.xml或者可以直接问开发,那这篇文章你就压根不用看了。

时间: 2024-10-09 16:12:51

获取Android运行apk的packagename 和activityname的相关文章

Android 获取android安装apk框的安装状态(如点击取消、返回)

最近鼓捣android,碰到个问题,因为没有root权限,需要调用Intent安装apk,但需要获取用户是否安装了(如,用户点击了返回或取消),查了很多文章,最后可以解决,但有瑕疵,解决方法如下: public static void installPackage(Context context, File file, int requestCode) { // 安装之前先记录预安装APK文件的名字,以用于返回结果时根据requestCode获取安装的apk packageName MainAc

Android获取正在运行的程序并kill掉它

获取正在运行的程序并把它加入到一个listview的adapter类面,方法如下: // 正在运行的 public List<Programe> getRunningProcess() { pi = new PackagesInfo(this); am = (ActivityManager) getSystemService(ACTIVITY_SERVICE); // 获取正在运行的应用 run = am.getRunningAppProcesses(); // 获取包管理器,在这里主要通过包

(转)获取android手机内部存储空间和外部存储空间的参数 &amp;&amp; 如何决定一个apk的安装位置

转:http://blog.csdn.net/zhandoushi1982/article/details/8560233 获取android文件系统的信息,需要Environment类和StatFs类的支持. (1)Environment 是一个提供访问环境变量的类,常用的方法有: A,getRootDirectory() ,返回File,获取Android 的根目录. B,getDataDirectory() ,返回File ,获取Android 数据目录. C,getExternalSto

php脚本生成google play url的下载链接,下载apk并自动反编译后获取android版本号

    需求:     get the offer tracking link    follow the redirect to get google play url    Go to http://apps.evozi.com/apk-downloader/    Enter google play url    Download APK file    Decompile APK file using https://code.google.com/p/android-apktool/w

Genymotion - 强大好用高性能的 Android 模拟器 (在电脑流畅运行APK安卓软件游戏的利器)

随着 Android 系统的应用和游戏越来越丰富,甚至有些比起Windows.Mac上的软件更加好用好玩,因此很多人都希望能在电脑上也能玩到安卓的游戏或APP. 我们曾推荐过 BlueStacks,而 Genymotion 则是另一款更加优秀专业高性能的安卓 Android 模拟器!它支持 Windows.Mac.Linux,由于其模拟运行速度很快画面流畅.且支持 OpenGL 3D 加速.多开.全屏等特性,并提供 Eclipse.IntelliJ IDEA 的开发插件,不仅是开发者们也是普通玩

Android高手之路之获取正在运行的service,以及判断某个service是否正在运行

注:本文改自http://blog.csdn.net/android_tutor/article/details/5824581 其实主要是用了activityManager的getRunningServices来获取正在运行的service的列表.然后用正在运行的服务的名称去比对相等. 看代码: package com.example.runningservice; import java.util.List; import android.app.Activity; import andro

获取Android APK JNI库

/************************************************************************** * 获取Android APK JNI库 * 说明: * 将Android APK作为内置的APK,经常会遇到找不到JNI库的问题,本文记录 * 如何解决这种问题的办法. * * 2016-7-13 深圳 南山平山村 曾剑锋 *************************************************************

转:android中APK开机自动运行

背景知识:当Android启动时,会发出一个系统广播,内容为ACTION_BOOT_COMPLETED,它的字符串常量表示为android.intent.action.BOOT_COMPLETED.只要在程序中“捕捉”到这个消息,再启动之即可.记住,Android框架说:Don't call me, I'll call you back.我们要做的是做好接收这个消息的准备,而实现的手段就是实现一个BroadcastReceiver. 代码解析: 1.界面Activity:SayHello.jav

Android中apk动态载入技术研究(2)android插件化及实现

了解了android中类载入的前期知识点后,来看看android中DexClassLoader详细的实现 详细载入流程例如以下: 宿主程序会到文件系统比方SD卡中去载入APK[1],然后通过一个叫proxy的Activity去运行apk中的Activity 关于动态载入ap.理论上可用用到DexClassLoad.PathClassLoader.URLClassLoader; DexClassLoader: 能够载入文件系统上的jar.dex.apk PathClassLoader:能够载入 /