不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
C#调用jarsigner对apk签名耗时长解决方法
编辑:dnawo 日期:2012-09-20
C# apk签名类:
调用方法签名:
程序运行后,signed.apk大小一直停留在228KB,必须手动关闭程序签名才能完成(signed.apk增大到3M),但同样的参数,在cmd中运行却很正常。
查看jarsigner帮助信息中各个参数的说明,感觉-verbose似乎没什么用:
引用内容
尝试去掉"-verbose",再运行程序,能正常签名了,时间都在3s以内:)
复制内容到剪贴板
程序代码

using System;
using System.Diagnostics;
namespace ConsoleApplication1
{
public class Android
{
/// <summary>
/// 签名
/// </summary>
/// <param name="args"></param>
/// <returns></returns>
public static string Sign(params string[] args)
{
string result = "";
//进程启动信息
ProcessStartInfo startInfo = new ProcessStartInfo()
{
UseShellExecute = false,
CreateNoWindow = true,
WindowStyle = ProcessWindowStyle.Hidden,
RedirectStandardOutput = true,
FileName = "jarsigner.exe",
//WorkingDirectory = "",
Arguments = args.Length > 0 ? string.Join(" ", args) : ""
};
//启动进程
using (Process process = Process.Start(startInfo))
{
process.WaitForExit();
result = process.StandardOutput.ReadToEnd();
}
return result;
}
}
}
using System.Diagnostics;
namespace ConsoleApplication1
{
public class Android
{
/// <summary>
/// 签名
/// </summary>
/// <param name="args"></param>
/// <returns></returns>
public static string Sign(params string[] args)
{
string result = "";
//进程启动信息
ProcessStartInfo startInfo = new ProcessStartInfo()
{
UseShellExecute = false,
CreateNoWindow = true,
WindowStyle = ProcessWindowStyle.Hidden,
RedirectStandardOutput = true,
FileName = "jarsigner.exe",
//WorkingDirectory = "",
Arguments = args.Length > 0 ? string.Join(" ", args) : ""
};
//启动进程
using (Process process = Process.Start(startInfo))
{
process.WaitForExit();
result = process.StandardOutput.ReadToEnd();
}
return result;
}
}
}
调用方法签名:
复制内容到剪贴板
程序代码

Android.Sign(new string[] { "-verbose", "-keystore", @"F:\sign\key", "-storepass", "123456", "-keypass", "123456", "-signedjar", @"F:\sign\signed.apk", @"F:\sign\test.apk", "market" });
程序运行后,signed.apk大小一直停留在228KB,必须手动关闭程序签名才能完成(signed.apk增大到3M),但同样的参数,在cmd中运行却很正常。
查看jarsigner帮助信息中各个参数的说明,感觉-verbose似乎没什么用:

[-verbose] 签名/验证时输出详细信息
尝试去掉"-verbose",再运行程序,能正常签名了,时间都在3s以内:)






评论: 0 | 引用: 0 | 查看次数: 5109
发表评论
请登录后再发表评论!