
正文
android获取包名,安卓手机查看包名
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何查看Android应用apk的包名和入口Activity名称
Android开发过程中我们有时需要使用第三方apk资源,而启动第三方apk在某些情况下需要指定相应的包名和启动的Activity名,这个时候就需要获取这两个名称,我们可以使用如下三种方法:
1、使用aapt //aapt是sdk自带的一个工具,在你安装的Eclipse路径下的sdk\build-tools\中,如我的是D:\Eclipse\androidTools\sdk\build-tools\android-4.4.2,如果你下载有apk反编译工具,也可以直接使用里面的aapt
以“GO备份.apk”为例,先进入cmd命令行窗口,然后运行:D: - Eclipse\androidTools\sdk\build-tools\android-4.4.2
- aapt dump badging C:\Users\Administrator\Desktop\GO备份.apk,即可获取到AndroidManifest.xml中我们需要的内容,如
package: name='com.jiubang.go.backup.ex'
launchable-activity: name='com.jiubang.go.backup.pro.StartupPageActivity'
2、查看AndroidManifest.xml
同样是查看AndroidManifest.xml,这里我们可以采用反编译方法来获取信息,同样是打开cmd命令行窗口,然后运行:E:
- apk反编译工具\apktool\apktool - apktool.bat d -f C:\Users\Administrator\Desktop\GO备份.apk GO备份,然后打开“GO备份”文件夹,打开droidManifest.xml文件,找到manifest节点的package属性值package="com.jiubang.go.backup.ex"语句即为包名,查找android.intent.action.MAIN和android.intent.category.LAUNCHER对应的activity,该activity对应的android:name属性即为入口activity名称,如activity
android:name="com.jiubang.go.backup.pro.StartupPageActivity"。
3、使用uiautomatorviewer
可以直接在命令行输入uiautomatorviewer,打开获取屏幕截图工具,连接手机,打开所要获取包名的应用,然后获取其截图,根据截图查看package即可,uiautomatorviewer的使用这里就不做介绍了。使用这个需要注意的是,该app必须是有界面的,否则无法获取。
另外,
android.intent.action.MAIN 属性决定应用程序最先启动的Activity
android.intent.category.LAUNCHER属性决定应用程序是否显示在程序列表里
相关问答
Q1: android开发怎么获取包名
PackageManager manager = this.getPackageManager();
PackageInfo info = manager.getPackageInfo(this.getPackageName(), 0);
info.packageName就是包名
Q2: Android 查看apk包名、当前Activity名等
1、查看当前运行app的包名
2、通过包名查找apk的安装路径
3、查看当前运行的Activity名称
4、获取第三方APK的包名和入口类名
Q3: android 怎么迅速查找小部件包名
先说明一下这里讲的方法是通用的,而网上其他方法获取PackageName不通用(因为他是建立在root的基础上的,我不敢保证你的设备已经root)。
①在android设备上点击一下你要测试的应用,然后就不用操作设备了。
②在PC上的命令行输入:adb logcatD:/log.txt *:I
在这里的D:/log.txt你可以改成其他的路径,但是一定要先确保路径下没有这个文件,不然的话你以前的文件就被改掉了,一定要小心。
③按下Ctrl+c先停掉(为了避免过多的新信息)。打开刚刚的那个文件D:/log.txt。从文件最下面开始找下面格式的信息
I/ActivityManager( 数字): Displayed 包名/类名: +数字ms
例如我的信息如下:
I/ActivityManager( 272): Displayed com.vane/.act.ActLauncher: +315ms
Q4: 如何简单快速获取Android应用包名
如果是要获得手机上的已安装的APP的包名,那么请下载包名查看器软件,直接可以查看.
现在要说的是有一个APP安装包,获取包名的方法:(需要安装NotePad++)
将安装包后缀.apk改为.zip(.rar)
双击打开解压包,找到AndroidManifest.xml,将它单独解压出来即可
将这个文件单独解压出来后,使用NotePad++打开,查找"manifest",跟着它后面的就是包名.(查找"activity",跟着它后面的就是活动名)
如果没有NotePad++也可以尝试在线查看xml文件,查找manifest关键字
Q5: android5.0之后,如何获取当前顶端包名
//获取到栈顶应用程序的包名
public String getTopActivty() {
String topPackageName="888";
//android5.0以上获取方式
if (Build.VERSION.SDK_INT = Build.VERSION_CODES.LOLLIPOP) {
Intent intent = new Intent(Settings.ACTION_USAGE_ACCESS_SETTINGS);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
UsageStatsManager mUsageStatsManager = (UsageStatsManager) getSystemService(Context.USAGE_STATS_SERVICE);
long time = System.currentTimeMillis();
ListUsageStats stats = mUsageStatsManager.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, time - 1000 * 10, time);
if (stats != null) {
SortedMapLong, UsageStats mySortedMap = new TreeMapLong, UsageStats();
for (UsageStats usageStats : stats) {
mySortedMap.put(usageStats.getLastTimeUsed(), usageStats);
}
if (mySortedMap != null !mySortedMap.isEmpty()) {
topPackageName = mySortedMap.get(mySortedMap.lastKey()).getPackageName();
Log.e("TopPackage Name", topPackageName);
}
}
}
//android5.0以下获取方式
else{
ListActivityManager.RunningTaskInfo tasks = activityManager.getRunningTasks(1);
ActivityManager.RunningTaskInfo taskInfo = tasks.get(0);
topPackageName = taskInfo.topActivity.getPackageName();
}
return topPackageName;
}






