奇怪:获取不到MD5签名?什么原因??解决不好这个问题 过不好年了

热爱生活 2017-01-24 10:50:18
 第一种方法:
String A=ToolsUtils.getSign2(getBaseContext(), "a.b");

public static String getSign2(Context context, String packageName) {
Signature[] signs = getRawSignature(context, packageName);
if ((signs == null) || (signs.length == 0)) {
return null;
} else {
Signature sign = signs[0];
String signMd5 = md5(sign.toByteArray());
return signMd5;
}
}
第二种方法:
String B= getSignMd5Str();
public String getSignMd5Str() {
try {
PackageInfo packageInfo = a.this.getPackageManager().getPackageInfo(a.this.getPackageName(), PackageManager.GET_SIGNATURES);
android.content.pm.Signature[] signs = packageInfo.signatures;
android.content.pm.Signature sign = signs[0];
String signStr = encryptionMD5(sign.toByteArray());
return signStr;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return "";
}
第三种方法:

byte[] signature = getSign(a.this);
private byte[] getSign(Context context) {
PackageManager pm = context.getPackageManager();
List<PackageInfo> apps = pm.getInstalledPackages(PackageManager.GET_SIGNATURES);
Iterator<PackageInfo> iter = apps.iterator();
while (iter.hasNext()) {
PackageInfo info = iter.next();
String packageName = info.packageName;
//按包名读取签名
if (packageName.equals("a.b")) {
return info.signatures[0].toByteArray();
}
}
return null;
}


到底怎么回事?
快过年了。 解决不好这个问题 过不好年了!呜呜。。。
...全文
1062 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinahbbt 2017-02-23
  • 打赏
  • 举报
回复
不懂,帮顶.不过我百度发现很多人有解决方法,不知道能不能帮到你,百度吧
热爱生活 2017-02-22
  • 打赏
  • 举报
回复
回复就给分啊!!
热爱生活 2017-02-03
  • 打赏
  • 举报
回复
没人帮忙吗??!!

80,362

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧