1、查看自己的应用签名
可以通过两种方式查看
(1) debug的apk通过Eclipse查看,
eclipse-view-signatures
(2) 某个keystore签名的应用,通过
Java
keytool -list -keystore E:\Trinea\keystore\appsearchkeystore
1
keytool -list -keystore E:\Trinea\keystore\appsearchkeystore
查看,会要求输入签名密码,默认为android,
keytool-list-view-signatures
2、查看三方应用或是系统应用签名
用winrar打开待查看的apk,将其中META-INF文件夹解压出来,得到其中的CERTRSA文件,通过
Java
keytool -printcert -file META-INF/CERTRSA
keytool -printcert -file META-INF/CERTRSA
命令打印证书信息,如微信证书信息
keytool-printcert-view-signatures
可以查看签名的MD5、SHA1、SHA256值及签名算法
PS:百度地图API需要签名做为安全码一部分实在有点不能理解,太麻烦了。
在微信开放平台申请app应用的时候,遇到要填写 应用签名 一栏。
找到签名文件
keytool -list -v -keystore xxxkeystore
证书指纹节点下的MD5值转成小写,去掉冒号。
首先跟随 生成keystore和应用签名 ,生成 jks 签名文件,
然后跟随 微信开放平台Android应用签名的本质及如何获取 的第三、四步,生成带签名的apk,并用专门的工具查看应用签名。
最后用工具查看到应用签名后,我们发现,其实它就是keystore文件的MD5值。
这样,我们就能够 查看应用签名了
如果你在 修改签名 后,进入微信授权页面失败,且提示"应用签名与微信开放平台上的签名不一致",有可能是 微信缓存 的缘故。
根据 android之微信开放平台修改签名 ,只要清理微信缓存,或重装微信即可。
接下来还有一个问题没解决:
解决方法参考 Android Studio直接运行调试签名包
但这样的做法会显示暴露keystore信息,所以跟随 Android Studio的两种模式及签名配置 的后半部分,可以让项目间接引入keystore信息。
参考如下内容:
查看三方应用或是系统应用签名
用winrar打开待查看的apk,将其中META-INF文件夹解压出来,得到其中的CERTRSA文件,通过命令keytoolexe命令查看证书信息
可以查看签名的MD5、SHA1、SHA256值及签名算法
keytool -printcert -file META-INF/CERTRSA
安卓的APK么?
安卓的APK是个压缩包格式,我给你个思路 具体代码你去写 还是比较简单的
分为两步:①上传按钮点击时解压APK压缩包
②获取压缩包内AndroidManifestxml(apk的包名,版本号,版本名称都在此XML文件内)
③解析这个XML
既然答了 我就完善一下:(在codeplex上面找到的)
using AndroidXml;
using IonicZip;
using System;
using SystemCollectionsGeneric;
using SystemIO;
using SystemLinq;
using SystemText;
using SystemThreadingTasks;
using SystemXml;
namespace APKRead
{
class NamespaceInfo
{
public string Prefix { get; set; }
public string Uri { get; set; }
}
class Program
{
static List<AndroidInfo> androidInfos = new List<AndroidInfo>();
static void Main(string[] args)
{
//要分析的文件名称
var manifest = "AndroidManifestxml";
//读取apk,通过解压的方式读取
using (var zip = ZipFileRead("Newsapk"))
{
using (Stream zipstream = zip[manifest]OpenReader())
{
//将解压出来的文件保存到一个路径(必须这样)
using (var fileStream = FileCreate(manifest, (int)zipstreamLength))
{
// Initialize the bytes array with the stream length and then fill it with data
byte[] bytesInStream = new byte[zipstreamLength];
zipstreamRead(bytesInStream, 0, bytesInStreamLength);
// Use write method to write to the file specified above
fileStreamWrite(bytesInStream, 0, bytesInStreamLength);
}
}
}
//读取解压文件的字节数
byte[] data = FileReadAllBytes(manifest);
if (dataLength == 0)
{
throw new IOException("Empty file");
}
#region 读取文件内容
using (var stream = new MemoryStream(data))
{
var reader = new AndroidXmlReader(stream);
while (readerRead())
{
switch (readerNodeType)
{
case XmlNodeTypeElement:
{
AndroidInfo info = new AndroidInfo();
androidInfosAdd(info);
infoName = readerName;
infoSettings = new List<AndroidSetting>();
for (int i = 0; i < readerAttributeCount; i++)
{
readerMoveToAttribute(i);
AndroidSetting setting = new AndroidSetting() { Name = readerName, Value = readerValue };
infoSettingsAdd(setting);
}
readerMoveToElement();
break;
}
}
}
}
#endregion
FileDelete(manifest);
StringBuilder builder = new StringBuilder();
foreach (var androidInfo in androidInfos)
{
builderAppend(stringFormat("{0}:",androidInfoName));
foreach (var setting in androidInfoSettings)
{
builderAppend("{");
builderAppend(stringFormat("'{0}':'{1}'",settingName,settingValue));
builderAppend("},");
}
builderAppend("\n\n");
}
ConsoleWriteLine(builderToString());
}
}
/// <summary>
/// android应用程序信息
/// </summary>
public class AndroidInfo
{
public string Name { get; set; }
public List<AndroidSetting> Settings { get; set; }
}
/// <summary>
/// 设置
/// </summary>
public class AndroidSetting
{
public string Name { get; set; }
public string Value { get; set; }
}
}
//引用的IonicZip库可以直接通过 nuget下载。
以下介绍查看自己的应用签名及三方APK或系统APK签名信息,包含其中的MD5、SHA1、SHA256值和签名算法等信息。
1、查看自己的应用签名可以通过两种方式查看(1) debug的apk通过Eclipse查看,如下图:
(2) 某个keystore签名的应用,通过以下命令查看
keytool -list -keystore E:\Trinea\keystore\appsearchkeystore,会要求输入签名密码,默认为android,如下图:
2、查看三方应用或是系统应用签名用winrar打开待查看的apk,将其中META-INF文件夹解压出来,得到其中的CERTRSA文件,通过keytool -printcert -file META-INF/CERTRSA命令打印证书信息,如微信证书信息如下图:
可以查看签名的MD5、SHA1、SHA256值及签名算法
## 使用自动签名的方法
1 创建或者修改 ~/gradle/gradleproperties
2 在gradleproperties 文件中增加下面的内容(具体内容需要根据实际来更改)
STORE_PASSWORD=xysys
KEY_ALIAS=xxsasd
KEY_PASSWORD=988asdf
3 这样每次build的时候,总是用keystore来签名,不会用生成的debug来签名了
## 使用命令行来构建APK
进入项目最高层目录,找到 gradlew 执行下面的命令来构建所有类型的APK,自动使用官方签名
## 验证签名是官方签名
1 使用keytool 获取apk包的指纹
例如:
2 查看keystore的指纹
apk的签名指纹跟keystore中的指纹一致表明该包是用keystore来签名的。
注意:若java版本是7之前的,需要先把apk解压,
来看包的指纹。
以上就是关于android studio怎么查看apk 签名全部的内容,包括:android studio怎么查看apk 签名、android 微信开放平台,如何获取应用签名、如何获取android 签名信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)