- 浏览: 417188 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
xinzhengjie:
服务器用什么实现
pjsip -
yxhloen01:
只放debug.keystore但是没给密码啊。。。。。。 ...
静默安装实现方法 -
tabolt:
android 应用强制停止 -
li1046964106:
[color=green][size=x-small][ali ...
安卓图表引擎AChartEngine(二) - 示例源码概述和分析 -
smallk2013:
用你这个方法为什么我只想模拟点击 无法实现啊
Android下执行Runtime.getRuntime().exec后返回状态
private String showUninstallAPKSignatures(String apkPath) {
String PATH_PackageParser = "android.content.pm.PackageParser";
try {
// apk包的文件路径
// 这是一个Package 解释器, 是隐藏的
// 构造函数的参数只有一个, apk文件的路径
// PackageParser packageParser = new PackageParser(apkPath);
Class pkgParserCls = Class.forName(PATH_PackageParser);
Class[] typeArgs = new Class[1];
typeArgs[0] = String.class;
Constructor pkgParserCt = pkgParserCls.getConstructor(typeArgs);
Object[] valueArgs = new Object[1];
valueArgs[0] = apkPath;
Object pkgParser = pkgParserCt.newInstance(valueArgs);
MediaApplication.logD(DownloadApk.class, "pkgParser:" + pkgParser.toString());
// 这个是与显示有关的, 里面涉及到一些像素显示等等, 我们使用默认的情况
DisplayMetrics metrics = new DisplayMetrics();
metrics.setToDefaults();
// PackageParser.Package mPkgInfo = packageParser.parsePackage(new
// File(apkPath), apkPath,
// metrics, 0);
typeArgs = new Class[4];
typeArgs[0] = File.class;
typeArgs[1] = String.class;
typeArgs[2] = DisplayMetrics.class;
typeArgs[3] = Integer.TYPE;
Method pkgParser_parsePackageMtd = pkgParserCls.getDeclaredMethod("parsePackage",
typeArgs);
valueArgs = new Object[4];
valueArgs[0] = new File(apkPath);
valueArgs[1] = apkPath;
valueArgs[2] = metrics;
valueArgs[3] = PackageManager.GET_SIGNATURES;
Object pkgParserPkg = pkgParser_parsePackageMtd.invoke(pkgParser, valueArgs);
typeArgs = new Class[2];
typeArgs[0] = pkgParserPkg.getClass();
typeArgs[1] = Integer.TYPE;
Method pkgParser_collectCertificatesMtd = pkgParserCls.getDeclaredMethod("collectCertificates",
typeArgs);
valueArgs = new Object[2];
valueArgs[0] = pkgParserPkg;
valueArgs[1] = PackageManager.GET_SIGNATURES;
pkgParser_collectCertificatesMtd.invoke(pkgParser, valueArgs);
// 应用程序信息包, 这个公开的, 不过有些函数, 变量没公开
Field packageInfoFld = pkgParserPkg.getClass().getDeclaredField("mSignatures");
Signature[] info = (Signature[]) packageInfoFld.get(pkgParserPkg);
MediaApplication.logD(DownloadApk.class, "size:"+info.length);
MediaApplication.logD(DownloadApk.class, info[0].toCharsString());
return info[0].toCharsString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
} 获取程序自身的签名:private String getSign(Context context) {
PackageManager pm = context.getPackageManager();
List<PackageInfo> apps = pm.getInstalledPackages(PackageManager.GET_SIGNATURES);
Iterator<PackageInfo> iter = apps.iterator();
while(iter.hasNext()) {
PackageInfo packageinfo = iter.next();
String packageName = packageinfo.packageName;
if (packageName.equals(instance.getPackageName())) {
MediaApplication.logD(DownloadApk.class, packageinfo.signatures[0].toCharsString());
return packageinfo.signatures[0].toCharsString();
}
}
return null;
} 对比2个方法的返回值来判断APK升级包的签名是否一致,一致就提示可以安装。
String PATH_PackageParser = "android.content.pm.PackageParser";
try {
// apk包的文件路径
// 这是一个Package 解释器, 是隐藏的
// 构造函数的参数只有一个, apk文件的路径
// PackageParser packageParser = new PackageParser(apkPath);
Class pkgParserCls = Class.forName(PATH_PackageParser);
Class[] typeArgs = new Class[1];
typeArgs[0] = String.class;
Constructor pkgParserCt = pkgParserCls.getConstructor(typeArgs);
Object[] valueArgs = new Object[1];
valueArgs[0] = apkPath;
Object pkgParser = pkgParserCt.newInstance(valueArgs);
MediaApplication.logD(DownloadApk.class, "pkgParser:" + pkgParser.toString());
// 这个是与显示有关的, 里面涉及到一些像素显示等等, 我们使用默认的情况
DisplayMetrics metrics = new DisplayMetrics();
metrics.setToDefaults();
// PackageParser.Package mPkgInfo = packageParser.parsePackage(new
// File(apkPath), apkPath,
// metrics, 0);
typeArgs = new Class[4];
typeArgs[0] = File.class;
typeArgs[1] = String.class;
typeArgs[2] = DisplayMetrics.class;
typeArgs[3] = Integer.TYPE;
Method pkgParser_parsePackageMtd = pkgParserCls.getDeclaredMethod("parsePackage",
typeArgs);
valueArgs = new Object[4];
valueArgs[0] = new File(apkPath);
valueArgs[1] = apkPath;
valueArgs[2] = metrics;
valueArgs[3] = PackageManager.GET_SIGNATURES;
Object pkgParserPkg = pkgParser_parsePackageMtd.invoke(pkgParser, valueArgs);
typeArgs = new Class[2];
typeArgs[0] = pkgParserPkg.getClass();
typeArgs[1] = Integer.TYPE;
Method pkgParser_collectCertificatesMtd = pkgParserCls.getDeclaredMethod("collectCertificates",
typeArgs);
valueArgs = new Object[2];
valueArgs[0] = pkgParserPkg;
valueArgs[1] = PackageManager.GET_SIGNATURES;
pkgParser_collectCertificatesMtd.invoke(pkgParser, valueArgs);
// 应用程序信息包, 这个公开的, 不过有些函数, 变量没公开
Field packageInfoFld = pkgParserPkg.getClass().getDeclaredField("mSignatures");
Signature[] info = (Signature[]) packageInfoFld.get(pkgParserPkg);
MediaApplication.logD(DownloadApk.class, "size:"+info.length);
MediaApplication.logD(DownloadApk.class, info[0].toCharsString());
return info[0].toCharsString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
} 获取程序自身的签名:private String getSign(Context context) {
PackageManager pm = context.getPackageManager();
List<PackageInfo> apps = pm.getInstalledPackages(PackageManager.GET_SIGNATURES);
Iterator<PackageInfo> iter = apps.iterator();
while(iter.hasNext()) {
PackageInfo packageinfo = iter.next();
String packageName = packageinfo.packageName;
if (packageName.equals(instance.getPackageName())) {
MediaApplication.logD(DownloadApk.class, packageinfo.signatures[0].toCharsString());
return packageinfo.signatures[0].toCharsString();
}
}
return null;
} 对比2个方法的返回值来判断APK升级包的签名是否一致,一致就提示可以安装。
发表评论
-
圆盘旋转菜单
2013-08-27 23:35 801调用系统APP信息进行显示 -
Android下执行Runtime.getRuntime().exec后返回状态
2012-11-14 15:45 10082private String doExec(String cm ... -
获取APK文件的签名信息,反射实现
2012-11-14 15:12 2197private String showUninstallAPK ... -
android编辑单个工程
2012-09-14 14:54 751编译模块:android中的一个应用程序可以单独编译,编译后要 ... -
判断力应用程序安装位置
2012-09-05 09:28 813从Android 2.2开始软件可以安装到SD卡上,在API ... -
获取手机中已安装apk文件信息(应用图片、应用名、包名等)
2012-08-28 22:17 4038通过PackageManager可以获取手机端已安装的apk文 ... -
查询手机内所有支持分享的应用
2012-08-28 22:15 793/** * 查询手机内所有支持分享的应用 ... -
获取手机/SD卡内存大小(可用/全部)
2012-08-27 15:58 808//这个是手机内存的可用空间大小 static public ... -
语音识别
2012-08-26 15:21 758识别的语音列表listview显示出来,进行一些搜索等操作 -
android 应用强制停止
2012-08-23 17:50 6216在写应用的过程中,我们经常会遇到一些应用之间可能有冲突之类的, ... -
调用Android系统“应用程序信息(Application Info)”界面
2012-08-22 17:55 6474“Android系统设置->应用程序->管理应用程 ... -
ViewPager中使用Gallery!
2012-08-02 17:21 2298mPager.setOnTouchListener(new V ... -
android平台短信中心号获取
2012-08-07 11:12 1111就是直接获取用户手机中的短信中心号,该种方式需要你的应用满足两 ... -
Android ViewPager多页面滑动切换以及动画效果
2012-07-18 14:46 3473一、首先,我们来看一下效果图,这是新浪微博的Tab滑动效果。我 ... -
判断程序或者服务是否在前台运行
2012-07-15 23:07 10031.private boolean isTopActivity ... -
自定义标题栏
2012-07-11 15:24 8741. 代码中 requestWindowFeature(Win ... -
自定义对话框的主题
2012-07-11 15:19 845一、1.manifest.xml中 <activity ... -
调用选择图片、视频、添加音频、录音、拍摄视频、拍照等其他的功能
2011-06-23 20:30 1175//选择图片 requestCode 返 ... -
list中添加数据
2011-04-02 16:11 8326tabHost.addTab(tabHost.newTabSp ... -
QQ上的tabhost效果
2011-03-28 16:40 1227import android.app.Activity; im ...
相关推荐
这个是一个获取apk文件签名的一个小工具,是我从我同事那弄来的分享给大家,请大家不要喷我哈。
获取android apk文件的基本信息,使用命令java -jar GetMorePackageInfo.jar qq.apk可以获取到qq.apk文件基本信息。
)手机端获取安卓软件apk包的signature签名信息。包括发布者、拥有者、证书有效期、公钥、摘要(MD5)。纯手机端获取,无需电脑。程序员朋友的好帮手,截止目前(2020-04-11)没发现可在手机端获取签名信息的同类软件...
万能apk签名工具(APK文件修改工具)V1.00 绿色版 使用万能apk签名工具,自己定制个性的rom 就 轻而易举了!用的这个签名成功,然后将apk安装到了模拟器中。用的时候很简单,选择apk包,然后选择签名就可以。 运行它,...
通过C#获取apk文件版本编号,通过版本编号更新APK文件。
做app版本升级的时候最容易出错的就是包名或者签名没对上,这个小工具能快速找出apk的签名信息,包名,版本号等问题,然后把这些信息复制出来对比,很方便。
用这个签名apk文件,然后将apk安装到了模拟器中。 用的时候很简单,选择apk包,然后选择签名就可以。 1.有了这个软件,可以自己修改美化APK文件 2.用WINRAR打开APK文件,将自己的图片图标放进替换原有的,然后用...
apk签名文件,apk签名工具文件,可用于安卓APK文件的签名,不能用于ROM的签名
给未签名的apk文件签名
将原来APK的签名文件重新签名生成新的keystore文件,新生成的签名文件和密码要记住哦
电脑上运行此程序就可以了。获取当前 APK 文件信息。
android10 apk签名文件,签名后可以获取系统权限
android给未签名的apk签名命令。 准备文件 1、unsign.apk(未签名的apk) 2、shanhy.keystore(签名证书文件) ...以上这篇android实现给未签名的apk签名方法就是小编分享给大家的全部内容了,希望能给大
因为在做安卓中文编程平台(ACP)的项目,用到了apk签名文件。这个签名工具目测和E4A相同界面哦。此源码已将-keypass 和-storepass 设置为相同密码。用到的模块:取DOS执行结果 取DOS执行结果.rar (2 KB, 下载次数:...
接入微信开发时需要签名,这个apk是官方提供的获取签名工具, 微信工具 apk签名获取 接入微信开发时需要签名,这个apk是官方提供的获取签名工具, 微信工具 apk签名获取
php获取apk基本信息 包名 应用名称 版本名称 支持屏幕 支持语言等 相关操作都在包里面
apk文件万能签名工具:在网上下载的APK文件,修改资源后往往重新安装会报“签名错误,无法安装”,此工具可帮你解决任何签名问题。
需要JAVA环境 直接拖拽APK 或者改名的rar文件到面板 ,也可以直接选择文件
查看apk的签名信息.zip 里面包含了查看apk签名信息的命令和简单示例 并且里面有apk的示例文件
主要针对需要系统签名或者是打包后APK出现没有签名的情况处理。 使用signapk.jar进行操作。可一键处理多个apk文件并另存。内有使用说明