[uiautomator篇] 如何获取apk的包名 博客模板

Posted liuzhipenglove

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[uiautomator篇] 如何获取apk的包名 博客模板相关的知识,希望对你有一定的参考价值。

Android自动化学习笔记:获取APK包名的几种方法

----------------------------------------------------------------------------------------------------------------------------

小记:自学过程中,经常需要用得到一个APK的包名,总结一下得到包名的几种方式。

**********************

2017-16-23:初版

 

**********************

------------------------------------------------------------------------------------------------------------------------------

我们主要用的是adb shell命令

方法1. 通过adb shell进入到手机data/data目录下,查看包名(需要root)

adb shell

cd data/data

ls

方法2. 通过adb shell的pm命令,查看包名(不需要root)

adb shell pm list package -f
还可以加上过滤信息
adb shell pm list package -f |findstr antutu

方法3. 代码形式获取:

package com.example.apppackages;  
  
import android.graphics.drawable.Drawable;  
  
public class AppPackageInfo {  
  
    public String appName="";  
    public String packageName="";  
    public String versionName="";  
    public int versionCode=0;  
    public Drawable appIcon=null;  
      
}
  1.  ArrayList<AppPackageInfo> appList = new ArrayList<AppPackageInfo>();   
  2.  List<PackageInfo> packages = getPackageManager().getInstalledPackages(0);  
  3.    
  4.  for(int i=0;i<packages.size();i++) {   
  5.  PackageInfo packageInfo = packages.get(i);   
  6.  AppPackageInfo tmpInfo = new AppPackageInfo();   
  7.  tmpInfo.appName = packageInfo.applicationInfo.loadLabel(getPackageManager()).toString();   
  8.  tmpInfo.packageName = packageInfo.packageName;   
  9.  tmpInfo.versionName = packageInfo.versionName;   
  10.  tmpInfo.versionCode = packageInfo.versionCode;   
  11.  tmpInfo.appIcon = packageInfo.applicationInfo.loadIcon(getPackageManager());  
  12.  appList.add(tmpInfo);  
  13.  Log.i("tag", tmpInfo.packageName);  
  14.    
  15. }
 

4 使用android/sdk 在SDK的build-tools目录下. 该工具可以查看, 创建, 更新ZIP格式的文档附件(zip, jar, apk)

aapt dump badging (apk path)|findstr package

  C:\\Users\\Administrator\\AppData\\Local\\Android\\Sdk\\build-tools\\25.0.3>aapt dump badging  E:\\uitest\\testcase\\CaseDemo\\testcase\\antutu\\Antutu3D.apk  | findstr package

 
 package: name=\'com.antutu.benchmark.full\' versionCode=\'6000302\' versionName=\'6.0
 .3\' platformBuildVersionName=\'6.0-2438415\'

 

 

以上是关于[uiautomator篇] 如何获取apk的包名 博客模板的主要内容,如果未能解决你的问题,请参考以下文章

如何获取手机自带软件的包名跟activity

获取APK的包名,和启动窗口类

monkeyrunner_获取apk的包名和activity名

如何修改反编译的apk的包名? [关闭]

如何查看apk的包名和启动Activity

获取app的应用包名和入口页面