怎么使用命令对APK包进行签名

  • |
  • 浏览:928
  • |
  • 更新:

    2015-02-04 02:17

  • 1

  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

分步阅读

在某些场合下,没有外在工具,需要对一个未签名的APK包进行签名,那就可以通过命令来对Android应用进行手动签名。

工具/原料

  • JDK+eclipse

方法/步骤

  1. 1

    菜单菜单键,键入cmd命令进入命令模式。如图:

  2. 2

    命令模式中,进入JDK的安装目录的Bin子目录下。(我的JDK安装在E盘,所以先进入E盘,然后再进入JDK安装目录)

  3. 3

    通过keytool.exe 工具来创建keystore库.

    输入以下命令:

    keytool -genkeypair -alias - mydemo.keystore -keyalg RSA -validity  100

    -keystore mydemo.keystore

    命令说明如下:

    -genkeypair  :指定生成数字证实

    -alias :指定生成数字证书的别名

    -keyalg:指定生成数字证书的算法  这里如RSA算法

    -validity:指定生成数字证书的有效期

    -keystore :指定生成数字证书的存储路径。  (这里默认在keytool.exe 目录下)

    回车 出现如图交互式界面   输入数字证书费密码 作者  公司等详细信息

    如图 :

  4. 4

    完成后,keystore库创建完成,你可以在指定的保存目录下找到 如图:

  5. 5

    使用jarsigner命令对未签名的APK安装包进行签名。使用JDK安装目录下bin子目录下的jarsigner.exe工具来进行签名。

    然后把未签名的apk也拷贝到此目录。如图:

  6. 6

    使用如下命令进行签名:

    jarsigner -verbose -keystore mydemo.keystore -signedjar

    -Note.apk Notes.apk mydemo.keystore

    以上命令的说明:

    -verbose:指定生成详细输出

    -keystore:指定数字证书存储路径

    -signedjar:该选项的三个参数为  签名后的apk包  未签名的apk包  数字证书别名

    注意有效期哦。

  7. 7

    签名后的apk  如图:

  8. 8

    sdk目录下tool目录下使用zipalign.exe工具优化APK安装包。

    将已经签名的apk包放在zipalign.exe同目录下   如图:

  9. 9

    使用如下命令:

    zipalign -f -v 4 -Note.apk -Notes.apk

    命令说明:

    -f  :指定强制覆盖已有文件

    -v  指定生成详细输出

    4:指定档案整理基于的字节数  一般是4  也有基于32位的。

    -Note.apk  :优化前APK

    -Notes.apk   优化后的APK

  10. 10

    运行命令后,在该目录下生成一个-Notes.apk,这个就是优化过的APK安装包

    ,该安装包可以对外发布。

    如图:

    如果能对你有帮助,希望你能收藏和支持。

时间: 2024-11-06 13:38:10

怎么使用命令对APK包进行签名的相关文章

查看APK包名签名等信息

有些游戏第三方比如分享需要配置游戏包名和签名,不同渠道包名签名又不同,所以时常需要查看不同apk包等签名信息,之前是使用等微博开放平台的手机客户端查看apk签名,前提是知道包名,网上找了下查看签名和包名的方法,找到一个比较好用的工具分享一下. 微博开放平台查看签名工具:下载 然而,不知道包名的情况下还是无法获取的,更何况还要安装到手机上使用app获取,在开发中显然下面到方式更简便. 获取 Apk 包名.VersionCode.VersionName 等相关信息 通过使用 aapt,可以获取 Ap

【keytool jarsigner工具的使用】Android 使用JDK1.7的工具 进行APK文件的签名,以及keystore文件的使用

你看到的这个文章来自于http://www.cnblogs.com/ayanmw 一个android apk的编译过程 请参考: http://www.2cto.com/kf/201312/261475.html 典型的编译过程: aapt( Android Asset Packaging Tool): 把你的应用程序资源文件(例如: AndroidManifest.xml file and the XML files for your Activities),编译成R.java .它可以让你从

mac下自己实现re-sign.jar对apk进行重签名

利用Robotinum对给的apk文件进行自动化测试,在不知道源码的情况下,只有apk文件如何进行自动化测试呢? 首先需要对apk文件进行重签名,并获得该apk文件的包名和程序入口的类名. 最开始网上说用re-sign.jar这个jar包,但是我用mac电脑实验了很多次都不行,一直提示JAVA_HOME环境变量没有设置,可是我已经设置了,echo $PATH输出也能看到JAVA_HOME,不过在Windows系统上实验是好的,可惜我是mac电脑,实验了好几个小时都不行,特别是在真心实意的请教测试

android Ant批打包学习(二)---生成有签名且混淆的apk包

本篇文章预期目标:                 生成有签名apk文件 详细步骤如下: 1  定义文件 两个文件 1.1  名字:local.properties 内容:SDK的路径(例如:sdk.dir=/Users/lincoln/Android/sdk) 1.2 名字:ant.properties 内容: source.dir=src out.dir=bin proguard.config=proguard.cfg   (添加混淆,必须保证proguard.cfg 文件存在) key.s

eclipse导出apk包时的签名实现

生成apk最懒惰的方法是: 只要你运行过android项目,到工作目录的bin文件夹下就能找到与项目同名的apk文件,这种apk默认是已经使用debug用户签名的. 如果想要自己给apk签名: 1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本的一致性(如自动更新不会因为版本不一致而无法安装). 2.签名的步骤 a.创建key b.使用步骤a中产生

【转载】android中APK包的安装以及adb命令的使用

apk包安装步骤: 1,首先将../android-sdk/platform/tools添加都path路径下 2,在控制台窗口中进入到你apk包所在的目录中 3,输入:abd unremount,第一次使用该命令的时候需要获取该命令的操作权限 4,打开android的模拟器 5,在控制台中执行:adb install 包名.apk 6,如果显示success,那么久安装apk包成功,显示Failure,则安装失败. 7,检查错误,排错,再执行如下命令:abd install -r 包名.apk

利用signapk.jar工具对apk文件进行签名

signapk.jar是Android源码包中的一个签名工具. 代码位于:Android源码目录下,signapk.jar 可以编译build/tools/signapk/ 得到. 使用signapk.jar签名时需要提供签名文件,我们可以使用安卓源码中提供的testkey.pk8与testkey.x509.pem,他们位于Android源码build/target/product/security目录. 使用android自带的签名工具signapk.jar 以及源码中的testkey.x50

如何使用Ant脚本编译出Jar和Apk包

一.前言 今天我们来看一个非常出名的工具ant,我们知道AndroidStudio中已经集成了gradle了,那么ant已经没有往日的辉煌了,但是他并没有被淘汰,因为在web项目中打出war包的时候也是可以用到的,虽然maven也很火,其实我开始工作已经快三年了,但是真心的还没用过ant脚本,因为在第一年的时候,我没有实际的出过release包,后面又开始用gradle了,所以直接略过了ant脚本了,但是今天因为有一个需求,就是想自动化的打出一个jar包,所以就想到了ant脚本,正好也算是学习了

apk的重签名

1.      生成Android APK包签名证书 1).     在doc中切换到jdk的bin目录 cd C:\Program Files\Java\jdk1.6.0_18\bin 2).     运行下面的命令 keytool –genkey –alias android123.keystore –keyalg RSA –validity 20000 –keystore android123.keystore /*解释:keytool工具是Java JDK自带的证书工具 -genkey参