android加固签名工具(源码下载)

背景

每次android加固了都要命令行签名好麻烦,正好之前做了个图标生成工具。

所以改了改,比写批处理还要省事。

原理

其实就是用winform程序调用控制台执行命令,android签名的命令如下

%JAVA_HOME%\bin\jarsigner -digestalg SHA1 -sigalg MD5withRSA -verbose -keystore [你的keystore] -signedjar [签名好的路径] [要签名的路径] [keystore的别名]

在界面里面选择了参数之后弹出控制台,输入密码就行了,非常省事(貌似密码也可以放进参数,懒得研究了,有知道的大神求评论给出)。

界面效果

之前icon生成工具改的,简单点就行。

icon生成的功能把ios的尺寸阉割了。

顺着自上而下的步骤点击就行。

如果你没有在环境变量里设定JAVA_HOME参数,程序启动会有提示,如果设定了就不需要再点击“配置JAVA目录”了。

如果自己配置JAVA目录,指向JDK的根目录就行,不要指向BIN。

关键源码

一如既往的,所有源码都有注释。请不要挑剔命名..半个小时弄的东西。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
using System.IO;

namespace WindowsFormsApplication1.DAL
{
    public class Signture
    {

        public static string cmdFormat = "{0}\\bin\\jarsigner";
        public static string cmdStrFormat = " -digestalg SHA1 -sigalg MD5withRSA -verbose -keystore {0} -signedjar {1} {2} {3}";

        /// <summary>
        /// 检查java环境
        /// </summary>
        /// <returns></returns>
        public static bool isJavaEnvirSettled()
        {
            return string.IsNullOrEmpty(Environment.GetEnvironmentVariable("JAVA_HOME"));
        }

        /// <summary>
        /// 运行cmd命令
        /// 会显示命令窗口
        /// </summary>
        /// <param name="cmdExe">指定应用程序的完整路径</param>
        /// <param name="cmdStr">执行命令行参数</param>
        public static bool RunCmd(string cmdExe, string cmdStr)
        {
            bool result = false;
            try
            {
                using (Process myPro = new Process())
                {
                    //指定启动进程是调用的应用程序和命令行参数
                    ProcessStartInfo psi = new ProcessStartInfo(cmdExe, cmdStr);
                    myPro.StartInfo = psi;
                    myPro.Start();
                    myPro.WaitForExit();
                    result = true;
                }
            }
            catch
            {

            }
            return result;
        }
        public static string savePath(string file)
        {
            string filePath = Path.GetDirectoryName(file);
            string fileName = Path.GetFileNameWithoutExtension(file);
            return filePath + "\\" + fileName + ".signed.apk";
        }
    }
}

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);
        }

你还能干些啥

因为代码已经放在这里了,而且已经满足我自己需要了,所以等功能更新那就只有等我也用的上的时候改了。。

1.你可以开发一下脑洞简单改改用来批量打渠道包

2.拿来执行其他的命令,比如取md5码之类的

源码地址:

链接:http://pan.baidu.com/s/1c2YAD4 密码:uvy9

P.S. 
自己在做独立开发,希望广结英豪,尤其是像我一样脑子短路不用react硬拼anroid、ios原生想干点什么的朋友。

App独立开发群533838427

微信公众号『懒文』-->lanwenapp<--

时间: 2024-12-18 01:28:25

android加固签名工具(源码下载)的相关文章

【转】提供android 5.0 AOSP源码下载

http://blog.csdn.net/innost/article/details/41148335 android-5.0.tar.gz 115网盘礼包码:5lbcl16a1k7q http://115.com/lb/5lbcl16a1k7q 除去git. repo等很占空间的内容. 编译注意: 1 ubuntu需要安装openjdk 7 2 如果没有openjdk 7的话,需要下载jdk7,然后修改 build/core/main.mk 177行,将requires_openjdk :=

【Android 系统开发】CyanogenMod 13.0 源码下载 编译 ROM 制作 ( 手机平台 : 小米4 | 编译平台 : Ubuntu 14.04 LTS 虚拟机)

作者 : 韩曙亮 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/51592930 手机的两种模式 : 在下面有详细的图片示例; -- Recovery 模式 : 音量键增加 + 电源键, 长按上述组合键, 看到 "MI" 的 LOGO 后即进入 Recovery 模式; -- Fastboot 模式 : 音量键减小 + 电源键, 长按上述组合键, 看到 "FASTBOOT" 后, 即 进入 FA

Android中Loader及LoaderManager的使用(附源码下载)

managedQuery方法的缺陷 Loader是用来更好地加载数据的,在我们谈论Loader之前,我们先研究一下Activity的managedQuery方法,该方法也是用于在Activity中加载数据的.在Android 3.0之前的版本中,我们如果想在Activity中通过ContentResolver对ContentProvider进行查询,我们可以方便的调用Activity的managedQuery方法,该方法的源码如下: @Deprecated public final Cursor

android 近百个源码项目【转】

http://www.cnblogs.com/helloandroid/articles/2385358.html Android开发又将带来新一轮热潮,很多开发者都投入到这个浪潮中去了,创造了许许多多相当优秀的应用.其中也有许许多多的开发者提供了应用开源项目,贡献出他们的智慧和创造力.学习开源代码是掌握技术的一个最佳方式.下面推荐几个应用开源项目,这些项目不仅提供了优秀的创意,也可以直接掌握 Android内核的接口使用: 1.Android团队提供的示例项目 如果不是从学习Android S

【Android 系统开发】 编译 Android 系统 u-boot 内核 源码 并烧写到 OK-6410A 开发板上

博客地址 : http://blog.csdn.net/shulianghan/article/details/40299813  本篇文章中用到的工具源码下载 : -- ok-6410A 附带的 Android 光盘 下载地址 : http://pan.baidu.com/share/link?shareid=3662728609&uk=2754759285 ; -- 光盘所含内容 : Android 引导 u-boot 源码, Android 内核 源码, Android 系统源码, 交叉编

【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)

作者 : 韩曙亮  博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293 转载请注明出处 : http://blog.csdn.net/shulianghan VLC 二次开发 视频教程 : http://edu.csdn.net/course/detail/355 博客总结 : -- 本博客目的 : 让 Android 开发者通过看本博客能够掌握独立移植 VLC Media Player 核心框架到自己的 app 中,

完整版linux下android源码下载、编译、模拟器启动运行

一.环境说明: 1.VMware版本:8.0.3 build-703057 2.liunx系统:Ubuntu10.10 3.jdk:sun-java6-jdk 二.Ubuntu 10.10更新源列表 由于??Ubuntu 10.10版本的源已经过期了,所以,需要对其进行更新,Ubuntu 10.10 已经发布了,下面提供更新源方法与更新源列表地址: 1.sudo gedit /etc/apt/sources.list     编辑你的源列表,将原来的内容全部删除,添加下面的源,复制到你的列表中,

Android源码下载

Android源码下载 Linux系统有很多工具和插件,这些插件Linux源生不附带,需要的话,需要自行下载.官方已经把所有插件部署在Linux的源上,Android源码的下载,是断点续传的,但是临时文件很大,至少预备40G空间,当然下载时间也会很长. > Android源码下载支持的系统目前只有Ubuntu和Mac OS两种操作系统, 本次以Ubuntu系统为例.> 官方网站:http://source.android.com/source/downloading.html 1. 下载Git

第2章 Android源码下载及编译

在分析Android源码前,首先要学会如何下载和编译系统.本章将向读者完整的呈现Android的源码的下载流程.常见问题以及处理方法,并从开发者的角度来理解如何正确地编译出Android系统(包括原生态系统和定制设备).后面,我们将在此基础上深入到编译脚本的分析中.以"庖丁解牛"的精神来还原一个庞大而严谨的Android编译系统. 2.1 Android源码下载指南 2.1.1 基于Repo和git的版本管理 Git是一种分布式的版本管理系统,最初被设计用于linux内核的版本控制.本