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=;
public Drawable appIcon=null; }
  1. ArrayList<AppPackageInfo> appList = new ArrayList<AppPackageInfo>();
  2. List<PackageInfo> packages = getPackageManager().getInstalledPackages(0);
  3. for(int i=0;i<packages.size();i++) {
  4. PackageInfo packageInfo = packages.get(i);
  5. AppPackageInfo tmpInfo = new AppPackageInfo();
  6. tmpInfo.appName = packageInfo.applicationInfo.loadLabel(getPackageManager()).toString();
  7. tmpInfo.packageName = packageInfo.packageName;
  8. tmpInfo.versionName = packageInfo.versionName;
  9. tmpInfo.versionCode = packageInfo.versionCode;
  10. tmpInfo.appIcon = packageInfo.applicationInfo.loadIcon(getPackageManager());
  11. appList.add(tmpInfo);
  12. Log.i("tag", tmpInfo.packageName);
  13. }
 

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的包名 博客模板的更多相关文章

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

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

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

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

  3. apk的包名修改

    今天,想在android手机上安装两个相同的应用,本以为可以安装不同版本的,试了几次,均相互覆盖了,于是,只能设法修改apk所对应的包名(package name). 目的声明:本文只是为了满足DIY ...

  4. 推荐csdn里的几篇activiti基础入门及提高的博客

    昨天有个网友加qq询问我有没有非maven搭建的activiti项目的demo,因为我博客中写了一个用maven,我当时没有,于是晚上回家尝试了一下,结果比较容易就实现了. 之后和那个网友聊了一下,他 ...

  5. C蛮的全栈之路-node篇(二) 实战一:自动发博客

    目录 C蛮的全栈之路-序章 技术栈选择与全栈工程师C蛮的全栈之路-node篇(一) 环境布置C蛮的全栈之路-node篇(二) 实战一:自动发博客 ---------------- 我是分割线 ---- ...

  6. PHP获取APK的包信息

    这段时间太忙了,一个月没有写博客了,稍微闲下来就感觉把在开发中遇到的问题记录下来 php上传安卓apk包的时候,需要获取安卓apk包内的信息 <?php /*解析安卓apk包中的压缩XML文件, ...

  7. 使用bat脚本调用py文件直接获取应用的包名和targetversion

    背景: 在上一篇已经介绍过如何利用python调用aapt获取包名 https://www.cnblogs.com/reseelei-despair/p/11078750.html 但是因为每次都要修 ...

  8. 获取第三方软件的包名、入口Activity的类名

    要启动指定的第三方软件,需要知道第三方软件的包名.类名. 获取第三方软件包名.类名的两种方法: 1.使用aapt aapt是sdk自带一个工具,在 Sdk\builds-tools 目录下 .如果没有 ...

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

    一.使用重签名工具Robotium

随机推荐

  1. GIT SSH免登录密码实现更新(git pull)、推送(git push)操作

     一.使用场景 现在有两台服务器A和B,在A服务器上搭建有git版本代码仓库,现要实现B服务器SSH免密码登录A服务器,并能够从A服务器拉取.推送代码! 二.操作步骤 1.在B服务器项目根目录下执行以 ...

  2. 一个SQL server的事务存储

    -- ============================================= -- Author: Evan -- Create date: 2018年6月14日 16点27分 - ...

  3. [C++讨论课] 课堂记录(一)

    今天第一次参加c++讨论课,记录下了各组同学的展示的问题或者解决方法,也有一些知识点上的内容,供以后复习参考. 1.常量指针和指针常量问题 常量指针:指向常量的指针,例如const int *p =  ...

  4. JAVA并发编程:相关概念及VOLATILE关键字解析

    一.内存模型的相关概念 由于计算机在执行程序时都是在CPU中运行,临时数据存在主存即物理内存,数据的读取和写入都要和内存交互,CPU的运行速度远远快于内存,会大大降低程序执行的速度,于是就有了高速缓存 ...

  5. mybatis association嵌套association的两级嵌套问题

    今天遇到了一个双表连接查询以及自关联的问题,由于第一次遇到,所以在这记下,日后好查阅 针对一个表的关联属性本身也有自关联的情况下,可以用association嵌套association的方法来处理. ...

  6. Java中的后台线程和join方法

    /*守护线程(后台线程):在一个进程中如果只剩下 了守护线程,那么守护线程也会死亡. 需求: 模拟QQ下载更新包. 一个线程默认都不是守护线程. */ public class Demo extend ...

  7. Helm入门

    前言:Helm是GO语言编写的,是管理kubernetes集群中应用程序包的客户端工具.Helm是类似于centos上的yum工具或Ubuntu上的apt-get工具.对于应用发布者而言,可以通过He ...

  8. ubuntu18.04+win10解决时钟不同步办法

    安装ntpdate: 执行命令: sudo apt-get install ntpdate 设置校正服务器: sudo ntpdate time.windows.com 设置硬件时间为本地时间: 执行 ...

  9. python入门:输出1-10以内除去7的所有数(经典)

    #!/usr/bin/env python # -*-coding:utf-8 -*- #输出1-10以内除去7的所有数(经典) """ 给kaishi赋值为1,whil ...

  10. token验证机制

    最近在vue-cli项目实现登录的过程中用到了token验证,在此总结如下 1. 登录时,客户端通过用户名与密码请求登录 2. 服务端收到请求去验证用户名与密码 3. 验证通过,服务端会签发一个Tok ...