在cmd进入jdk的bin目录,把keystore文件和apk安装包放到bin目录下,然后执行以下命令,需要管理员权限:

jarsgner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore [keystorePath] -singnedjar [apkOut] [apkln] [alias]

例如

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore androids.keystore -signedjar mzbl36000.apk mzbl3600.apk 00000000000

jarsgner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore [keystorePath] -singnedjar [apkOut] [apkln] [alias]

ps:红色英文不填的话,默认签名算法采用“SHA256withRSA”,所以会导致360提示:”您的应用签名算法采用“SHA256withRSA”,在部分4.2一下安卓版本的手机上不能安装

详细

Android版本加固后签名 
在上传应用的时候,应用加固之后会破坏原有的签名,需要重新签名才能发布到应用市场中,如下图: 

加固后的签名步骤如下: 
1:签名之前需要Java的JDK环境以及被破坏签名的apk安装包,以及将需要用来签名的keystore文件。 
2:将未签名的apk和keystore文件拷贝到JDK安装目录下bin子目录下,通过bin目录下的jarsigner命令对未签名的apk安装包进行签名。 
通过cmd进入命令行模式: 
1、 Windows+R 
 
2、 输入如下命令进行签名: 
jarsigner -verbose –keystore 指定数字证书存储路径 
-signedjar 签名后的apk包未签名的 apk包_legu.apk 数字证书别名 
如: 
jarsigner -verbose -keystore mzjsz.keystore -signedjar zjsz_android_release-release.apk zjsz_android_release-release.apk zjsz 
以上命令的说明: 
-verbose:指定生成详细输出 
-keystore:指定数字证书存储路径 
-signedjar:该选项的三个参数为 
签名后的apk包 
未签名的apk包 
数字证书别名(后面有获取方式) 
注意数字证书别名有效期。 
注意:签名后的apk包和未签名的apk包的包名尽量不要相同,否则将会将之前的版本直接覆盖掉。 
输入正确指令之后会要求输入密钥库的密码即keystore的File Password,输入的过程中不会有任何的显示。输入完成按Enter键: 
 
接着输入密钥口令即keystore的Key Password,完成按Enter 
 
当出现下图即表示成功 
 
在bin目录下生成一个mzjsz_android.apk文件。 

获取keystore数字证书别名: 
在签名的过程中会需要获取keystore数字证书别名,具体的操作如下: 
通过命令定位在JDK的bin目录下,或者在bin文件夹中按住shift+右键,在弹出菜单项中选择在此处打开命令窗口。 
输入指令keytool -list -v -keystore keystore文件名 –storepass keystore文件密码 
例如:keytool -list -v -keystore keystoreName -storepass keystorePassword 
出现下图就表示获取成功 

APP上传应用商店加固后打包的更多相关文章

  1. app上传到App Store的快捷方法及步骤

    跳过证书的申请及配置概要文件的设置, 现在根据已有的配置概要文件及发布证书开始: 1.先在Xcode上的PROJECT和TARGETS->Build Setting->Code Signi ...

  2. Ios App上传步骤

    前言:作为一名IOS开发者,把开发出来的App上传到App Store是必须的.下面就来详细介绍下具体流程. 1.打开苹果开发者中心:https://developer.apple.com 打开后点击 ...

  3. IOS APP 上传到AppStore

    由于第一次接触要把 app 上传到 AppStore 比较棘手,很多地方不懂,研究了 大半天 终于给上传成功了,现在坐等审核吧,首先把上传到AppStore的流程 整理下 : 第一 :准备证书 (要确 ...

  4. APP上传

    原文网址: http://blog.csdn.net/ayangcool 前言:作为一名IOS开发者,把开发出来的App上传到App Store是必须的.下面就来详细介绍下具体流程. 1.打开苹果开发 ...

  5. iOS app上传错误集锦(转载)

    1.工程里增加了版本自动更新. 2.未增加判断网络状态的类Reachability. 3.问题:error itms -90049 This bundel is invalid. The bundle ...

  6. 安卓app上传到应用宝、360手机助手、小米应用商店、百度手机助手/安卓市场/91助手

    1.小米应用商店 小米开放平台网站:https://account.xiaomi.com 注册帐号教程地址:http://dev.xiaomi.com/doc/?p=90 应用提交流程:http:// ...

  7. APP上传APP Store遇到的各种问题

    内容含敏感话题或对苹果不友好的信息(如苹果婊) 使用了友盟的统计SDK,获取了IDFA但是上传填写无广告 采用友盟IDFA的sdk,并用友盟的默认淘宝页面广告,被告知和产品内容不符(最近) App在i ...

  8. app上传到app Store常见问题

    一.首先看一下提交界面出现的问题(能成功打包成.ipa) 产生问题的原因如下:由于工程中含有sub project,而sub project中有private或public的文件导致的.这样的应用往往 ...

  9. App上传到应用宝的一些问题

    问题:提示应用需要认领,怎么解决? 原因:如果app之前在其他市场上传过,再上传到应用宝,应用宝首先会从其他应用市场抓包,如果发现抓取的包和上传的app包名都是一致的,这时候提示你需要认领app. 操 ...

随机推荐

  1. Android中Context的总结及其用法

    在android中我们经常遇到这样的情况,在创建一个对象的时候往往需要传递一个this参数,比如:语句 MyView mView = new MyView(this),要求传递一个this参数,这个t ...

  2. C#笔试面试宝典值得收藏1

    技术类面试.笔试题汇总 注:标明*的问题属于选择性掌握的内容,能掌握更好,没掌握也没关系. 下面的参考解答只是帮助大家理解,不用背,面试题.笔试题千变万化,不要梦想着把题覆盖了,下面的题是供大家查漏补 ...

  3. 转:SNMP 原理及配置简述

    SNMP 原理及配置简述 转载 2016年01月13日 16:18:51 随着机器数量的增长,管理员不能像过去那样,一台台机器进行监控.解决问题,而需要借助各方工具进行统一监控和管理.利用SNMP,一 ...

  4. MyEclipse中背景颜色的设定

    设置代码编写区域背景色的方法: Window-->Preferences-->General-->Editors-->TextEditors-->在Appearance ...

  5. jks & pfk

    keytool and jks keytool Name keytool - Key and Certificate Management Tool Manages a keystore (datab ...

  6. 从Python的角度来看编码与解码

    导语: Python2和Python3中,因为默认字符集的不同而造成的麻烦,简直是程序员的梦魇!要彻底告别这个麻烦,就需要从本质上来理解编码和解码. 为什么要有编码? 对于不会英文的中国人来说,将英文 ...

  7. Greatest Number 山东省第一届省赛

    Greatest Number Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 Saya likes math, because ...

  8. poj 2846 Repository

    题目大意:给你n个字符串,然后给你m个子串,看这个子串在上面的多少个串中,出现过: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2846 本题可以在字 ...

  9. apue编程之getopt ,getopt_long使用方法以及实例

    1.getopt 1.1 函数定义 int getopt(int argc, char * const argv[], const char *optstring);#include <unis ...

  10. mysql information_schema 数据库简介:

    .CHARACTER_SETS 表 CREATE TEMPORARY TABLE `CHARACTER_SETS` ( `CHARACTER_SET_NAME` varchar() NOT NULL ...