Java 获取APK安装程序的包名

Java 获取APK安装程序的包名核心的两个类:

ResPackage
 ApkDecoder

package com.temobi.util;

import java.io.File;
import java.util.Set;
import brut.androlib.AndrolibException;
import brut.androlib.ApkDecoder;
import brut.androlib.res.data.ResPackage;

public class APKUtil {
	public static String getAPKPageName(String apkpath) {
		ApkDecoder d = new ApkDecoder();
		d.setApkFile(new File(apkpath));
		try {
			Set p = d.getResTable().listMainPackages();
			for (ResPackage r : p) {// 这里set最大只会等于1
				return r.getName();
			}
		} catch (AndrolibException e) {
			e.printStackTrace();
		}
		return null;
	}

	public static void main(String[] args) {
		System.err.println("The APK  packname is : "+APKUtil.getAPKPageName("d:/UCBrowser_V8.7.0.187_Android_pf145_(Build12101613).apk"));
	}
}

  

时间: 2024-10-09 05:11:36

Java 获取APK安装程序的包名的相关文章

android 利用 aapt 解析 apk 的应用名称 包名 版本号 权限等信息

在上传各大市场时发现 apk 上传后能自动解析出应用名称.包名.版本号.使用权限等信息,所以就研究了一下 1 直接解压 apk 解析  AndroidManifest.xml 是不行的,因为 apk 打包时 AndroidManifest.xml 文件被压缩混淆了. 2 主要有两种实现方式 1) 通过 aapt (android asset packaging tool) aapt 是打包.更新资源的一个工具,可以解析出 apk 的资源信息 2) apktool 著名的反编译工具,先反编译出 A

JAVA获取apk包的package和launchable-activity名称(完善成EXE版)

出来混迟早是要还的. 在这一篇中https://www.cnblogs.com/sincoolvip/p/5882817.html,只是简单讲了一下获取apk包的package和launchable-activity名称,可以说是个非常不成熟的鸡肋的东西了.当时花的时间也不多,而且当时雄心壮志的还列了几步计划. 现在看一看,真是要耻笑自己,拖了这么久,今天终于补上,由于本人编程能力非常有限,无数资料都是网上搜搜搜,下来拼拼拼,按需改改改才实现的.在过程中一边熟悉掌握知识点,一边实现个体需求,其实

android cmd adb命令安装和删除apk应用和找到包名

转自http://blog.csdn.net/lfyx1357/article/details/7418133 1. 安装Android应用程序 1) 启动Android模拟器 2) adb install (apk在PC上的路径/)*.apk (将apk文件上传到了模拟器自带操作系统的data/app目录下了) 3) Android模拟器界面中浏览打开apk应用程序 2. 删除Android应用程序 删除Android有好几种方法. 第一种:命令行用uninstall adb uninstal

JAVA获取apk包的package和launchable-activity名称(一)

背景: 每次要获取apk包的package和launchable-activity名称都需要运行doc命令,感觉好浪费感情,因为经常记不住常常的路径,但又不想把aapt设置为环境变量 我这个工具分几步的: 1.JAVA代码输出package和launchable-activity名称名称 2.把此JAVA封装成EXE,虽然我技能太浅,但我还是想尝试一下 3.这个EXE能够上人自己上传apk包,然后点击输出package和aunchable-activity按扭,就能出现相应的值 目前是第1步,也

java 获取局域网中的所有主机名和IP地址

DOS命令 命令 意义 net view 获取局域网中的所有主机名 ipconfig -all 获取本地IP,主机名,MAC地址 arp -a 获取本局域网中的所有IP地址和物理地址 ping -a x.x.x.x 获取x.x.x.x的主机名 nbtstat -a 主机名 获取MAC地址 java exec 执行外部命令 String command = "net view" Runtime r = Runtime.getRuntime(); Process p = r.exec(co

黑马程序员——java——获取一个应用程序运行的次数,如果超过5次,给出使用次数已到请注册的提示,并不要再运行程序

获取一个应用程序运行的次数,如果超过5次,给出使用次数已到请注册的提示,并不要再运行程序 import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.Properties; public class Test5 { public static void main(String[] args) th

Android 利用 aapt 解析 apk 得到应用名称 包名 版本号 权限等信息

转:http://www.cnblogs.com/lesliefang/p/3864756.html 在上传各大市场时发现 apk 上传后能自动解析出应用名称.包名.版本号.使用权限等信息,所以就研究了一下 1 直接解压 apk 解析  AndroidManifest.xml 是不行的,因为 apk 打包时 AndroidManifest.xml 文件被压缩混淆了. 2 主要有两种实现方式 1) 通过 aapt (android asset packaging tool) aapt 是打包.更新

monkey测试之获取系统应用对应的包名

在做monkey测试的时候,有时候需要设置app与系统应用(比如调取系统权限类的系统应用)之间互跑,这时可以用腾讯GT,具体步骤如下: 此处以app调用系统相机为例,用adb shell pm list packages列出系统所有包名,然后复制黏贴到记事本查看,如图  有两个camera,天知道是哪个.这时可以用腾讯GT来辨别.步骤如下: 1.打开GT,点击被调试应用程序框 2.进入后,找到你熟悉的相机图标 3.这会就看到底下的包名了com.sec.android.app.camera

Java获取一个路径下指定后缀名的所有文件

方法一: http://blog.csdn.net/zjx102938/article/details/8114114 import java.io.File; import java.util.ArrayList; import java.util.List; public class FileFind { public static void main(String[] args) { String path = "D:\\Test"; List data=new ArrayLis