基本信息
源码名称:C# apk签名工具源码
源码大小:1.93M
文件格式:.rar
开发语言:C#
更新时间:2016-08-04
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
可以考虑 改改 做个 批量打渠道包工具
可以考虑 改改 做个 批量打渠道包工具
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevComponents.DotNetBar;
using System.IO;
namespace WindowsFormsApplication1
{
public partial class MainForm : DevComponents.DotNetBar.Metro.MetroForm
{
//图片参数
private bool isFirst = true;
private string[] files;
private string[] childFolders = { "android", "android\\hdpi", "android\\mdpi", "android\\xhdpi", "android\\xxhdpi" };
BackgroundWorker bWork = new BackgroundWorker();
//打包参数
private string apkPath;
private string keyPath;
private string javaPath;
private string alignName;
public MainForm()
{
InitializeComponent();
this.Activated = new EventHandler(Form2_Activated);
}
void Form2_Activated(object sender, EventArgs e)
{
if (isFirst)
{
if (DAL.Signture.isJavaEnvirSettled())
{
lb_status.Text = "你的JAVA_HOME未设置,请手动选择";
}
else
{
javaPath = Environment.GetEnvironmentVariable("JAVA_HOME");
}
InitWorker();
isFirst = false;
}
}
#region ----------生成图片------------
private void btn_file_Click(object sender, EventArgs e)
{
OpenFileDialog of = new OpenFileDialog();
of.Filter = "*.png|*.png|*.jpg|*.jpg";
of.Title = "打开";
of.Multiselect = true;
if (of.ShowDialog() == DialogResult.OK)
{
files = of.FileNames;
bWork.RunWorkerAsync();
}
}
private void InitWorker()
{
bWork.WorkerReportsProgress = true;
bWork.WorkerSupportsCancellation = true;
bWork.DoWork = new DoWorkEventHandler((ss, ee) =>
{
int iCount = 1;
foreach (var file in files)
{
bWork.ReportProgress(10, "处理:" Path.GetFileNameWithoutExtension(file));
//建立文件夹
string folder = CreateFolder(file);
//建立ANDROID缩略图
CreateANDROIDThumbs(folder, file);
}
});
bWork.ProgressChanged = new ProgressChangedEventHandler((ss, ee) =>
{
lb_status.Text = "现在执行:" ee.UserState.ToString();
});
bWork.RunWorkerCompleted = new RunWorkerCompletedEventHandler((ss, ee) =>
{
lb_status.Text = "操作结束";
});
}
private string CreateFolder(string file)
{
string filePath = Path.GetDirectoryName(file);
string fileName = Path.GetFileNameWithoutExtension(file);
string root = filePath "\\" fileName;
//根目录
if (!Directory.Exists(root))
{
Directory.CreateDirectory(root);
}
//子目录
foreach (string child in childFolders)
{
if (!Directory.Exists(root "\\" child))
{
Directory.CreateDirectory(root "\\" child);
}
}
return root;
}
private void CreateANDROIDThumbs(string folder, string file)
{
string extension = Path.GetExtension(file);
// "android", "android\\hdpi", "android\\mdpi", "android\\xhdpi", "android\\xxhdpi"
//hdpi
foreach (int size in Model.AndroidSizes.hdpiSizes)
{
string thumb = folder "\\android\\hdpi\\" size extension;
DAL.ImageConvert.MakeThumbnail(file, thumb, size, size, "HW");
}
//mdpi
foreach (int size in Model.AndroidSizes.mdpiSizes)
{
string thumb = folder "\\android\\mdpi\\" size extension;
DAL.ImageConvert.MakeThumbnail(file, thumb, size, size, "HW");
}
//xhdpi
foreach (int size in Model.AndroidSizes.xhdpiSizes)
{
string thumb = folder "\\android\\xhdpi\\" size extension;
DAL.ImageConvert.MakeThumbnail(file, thumb, size, size, "HW");
}
//xxhdpi
foreach (int size in Model.AndroidSizes.xxhdpiSizes)
{
string thumb = folder "\\android\\xxhdpi\\" size extension;
DAL.ImageConvert.MakeThumbnail(file, thumb, size, size, "HW");
}
}
#endregion
#region -----------包签名-----------
private void buttonX1_Click(object sender, EventArgs e)
{
//选择apk
OpenFileDialog of = new OpenFileDialog();
of.Filter = "*.*|*.*";
of.Title = "打开apk";
of.Multiselect = false;
if (of.ShowDialog() == DialogResult.OK)
{
apkPath = of.FileName;
}
}
private void buttonX2_Click(object sender, EventArgs e)
{
//选择keystore
OpenFileDialog of = new OpenFileDialog();
of.Filter = "*.*|*.*";
of.Title = "打开apk";
of.Multiselect = false;
if (of.ShowDialog() == DialogResult.OK)
{
keyPath = of.FileName;
}
}
private void buttonX3_Click(object sender, EventArgs e)
{
//配置java目录
FolderBrowserDialog fb = new FolderBrowserDialog();
if (fb.ShowDialog() == DialogResult.OK)
{
javaPath = fb.SelectedPath;
}
}
private void buttonX4_Click(object sender, EventArgs e)
{
//执行
string align=textBox1.Text;
string savedPath = DAL.Signture.savePath(apkPath);
string cmd = string.Format(DAL.Signture.cmdFormat, javaPath);
string cmdStr = string.Format(DAL.Signture.cmdStrFormat, keyPath, savedPath, apkPath, align);
DAL.Signture.RunCmd(cmd, cmdStr);
}
#endregion
}
}