APK_ Android创建私钥并为APK文件签名的相关命令及图形化方式
来源:互联网 发布:js选择文件夹路径 编辑:程序博客网 时间:2024/05/20 04:13
创建私钥命令:
keytool -genkey -keystore <path>.keystore -keyalg RSA -validity <days> -alias <private key>
该命令位于jdk安装目录的bin目录下,用于创建签名用的私钥。
其中:
-genkey 表示创建私钥。
-keystore 后面跟私钥仓库的名称,如果指定的仓库不存在,则创建一个新的仓库文件。
-keyalg 表示加密方式,一般跟RSA即可。
-validity 表示有效期限,单位为天,可以指定36500,即100年。
-alias 表示要添加的私钥名称,这个名称会被添加并存储到仓库文件中。
命令执行后,需要再输入一些信息,最后输入Y确认。
其中涉及到两个密码,一个是私钥仓库的密码,一个是具体私钥的密码,可以相同。
当输入完私钥的密码后,命令执行完成。
签名命令:
jarsigner -verbose -keystore <path>.keystore -signedjar <signed>.apk <unsigned>.apk <private key>
该命令位于jdk安装目录的bin目录下,用于使用私钥对未签名APK进行签名。
其中:
-verbose 表示输出相关信息。
-keystore 后面跟签名时使用的私钥所在的仓库文件。
-signedjar 表示对文件进行签名,后面跟三个参数:
第一个为签名后的文件名。
第二个为未签名的文件名,可以使用Eclipse的插件Android Tools导出未签名APK。
第三个是使用的私钥名称。
命令执行后,需要输入相关密码,然后输出相关信息,直到命令结束。
另外需要注意的是,如果是JDK1.7的版本,需要在签名命令后边添加如下参数:
-digestalg SHA1 -sigalg MD5withRSA
否则,最后签名的APK不能被安装,会提示以下错误:
Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
对齐优化命令:
zipalign -v 4 <unaligned>.apk <aligned>.apk
该命令位于sdk安装目录下的tools目录下,用于对已签名APK进行对齐优化。
其中:
-v 表示对齐的字节数,一般指定为4即可。
后面紧跟的两个参数分别为未对齐优化的文件名和优化后的文件名。
对已签名文件进行对齐优化后,可以得到更好的执行速度。
--------------------------------------------------------------------------------
生成签名的APK:
该过程将包含生成私钥仓库、生成私钥、打包APK、为APK签名、对APK对齐优化等一系列操作。
Android工程目录下的bin目录下,由Eclipse自动生成的APK文件是使用了默认的debug签名的。
使用该方式签名的apk可以安装到设备上,但是不同的环境,可能debug签名不同,并不通用。
而且,debug签名的APK无法发布到Market上。
可以用如下方式导出一个APK并进行签名:
工程->右键->Export->Android->Export Android Application...
或者
工程->右键->Android Tools->Export Signed Application Package...
在打开的窗口中,如果想要修改导出的工程,可以点击Browse进行修改。点击Next继续。
这里有两个选项:
Use existing keystore 使用既存的私钥仓库文件。
Create new keystore 创建一个新的私钥仓库文件。
一般的,如果已经创建了一个仓库文件,选择第一项即可,否则,需要选择第二项,创建一个新的仓库文件。
1、创建一个新的仓库文件:
Location 私钥仓库文件的保存位置。
Password 私钥仓库的密码。
Confirm 再次确认私钥仓库的密码。
2、使用已有的仓库文件:
Location 既存私钥仓库文件的位置。
Password 既存私钥仓库的密码。
点击Next继续。
这里又有两个选项:
Use existing key 使用已经存在的私钥对APK进行签名。
Create new key 创建一个新的私钥用于对APK进行签名。
1、创建一个新的私钥:
选中Create new key后,点击Next继续。
在打开的窗口中,输入相关参数,其中:
Alias 私钥名称。
Password 私钥的密码。
Confirm 再次确认私钥密码。
Validity (years) 有效期,单位是年,与命令行执行时的单位不同。
下面的可选参数里,必须有一项不为空,其它可选参数可以不填。
2、使用已有的私钥:
Alias 下拉列表里会列出私钥仓库文件里存在的私钥,选择想要使用的私钥。
Password 输入选择的私钥对应的密码。
点击Next继续。
在新窗口中,选择签名后的文件保存的位置,点击Finish完成上述所有操作。
生成未签名的APK:
使用命令的方式对APK进行签名,该APK必须是未签名的。
如果对已签名文件进行再签名,不会成功。如下方式可以得到一个未签名的APK:
工程->右键->Android Tools->Export Unsigned Application Package...
另外,新的ADT会在工程目录下生成proguard.cfg文件,使用它可以在签名时混淆代码。
混淆代码可以加大反编译代码后的理解难度,起到保护代码的作用。
使用方法是,修改工程目录下的project.properties文件,在最后添加:
proguard.config=proguard.cfg
keytool -genkey -keystore <path>.keystore -keyalg RSA -validity <days> -alias <private key>
该命令位于jdk安装目录的bin目录下,用于创建签名用的私钥。
其中:
-genkey 表示创建私钥。
-keystore 后面跟私钥仓库的名称,如果指定的仓库不存在,则创建一个新的仓库文件。
-keyalg 表示加密方式,一般跟RSA即可。
-validity 表示有效期限,单位为天,可以指定36500,即100年。
-alias 表示要添加的私钥名称,这个名称会被添加并存储到仓库文件中。
命令执行后,需要再输入一些信息,最后输入Y确认。
其中涉及到两个密码,一个是私钥仓库的密码,一个是具体私钥的密码,可以相同。
当输入完私钥的密码后,命令执行完成。
签名命令:
jarsigner -verbose -keystore <path>.keystore -signedjar <signed>.apk <unsigned>.apk <private key>
该命令位于jdk安装目录的bin目录下,用于使用私钥对未签名APK进行签名。
其中:
-verbose 表示输出相关信息。
-keystore 后面跟签名时使用的私钥所在的仓库文件。
-signedjar 表示对文件进行签名,后面跟三个参数:
第一个为签名后的文件名。
第二个为未签名的文件名,可以使用Eclipse的插件Android Tools导出未签名APK。
第三个是使用的私钥名称。
命令执行后,需要输入相关密码,然后输出相关信息,直到命令结束。
另外需要注意的是,如果是JDK1.7的版本,需要在签名命令后边添加如下参数:
-digestalg SHA1 -sigalg MD5withRSA
否则,最后签名的APK不能被安装,会提示以下错误:
Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]
对齐优化命令:
zipalign -v 4 <unaligned>.apk <aligned>.apk
该命令位于sdk安装目录下的tools目录下,用于对已签名APK进行对齐优化。
其中:
-v 表示对齐的字节数,一般指定为4即可。
后面紧跟的两个参数分别为未对齐优化的文件名和优化后的文件名。
对已签名文件进行对齐优化后,可以得到更好的执行速度。
--------------------------------------------------------------------------------
生成签名的APK:
该过程将包含生成私钥仓库、生成私钥、打包APK、为APK签名、对APK对齐优化等一系列操作。
Android工程目录下的bin目录下,由Eclipse自动生成的APK文件是使用了默认的debug签名的。
使用该方式签名的apk可以安装到设备上,但是不同的环境,可能debug签名不同,并不通用。
而且,debug签名的APK无法发布到Market上。
可以用如下方式导出一个APK并进行签名:
工程->右键->Export->Android->Export Android Application...
或者
工程->右键->Android Tools->Export Signed Application Package...
在打开的窗口中,如果想要修改导出的工程,可以点击Browse进行修改。点击Next继续。
这里有两个选项:
Use existing keystore 使用既存的私钥仓库文件。
Create new keystore 创建一个新的私钥仓库文件。
一般的,如果已经创建了一个仓库文件,选择第一项即可,否则,需要选择第二项,创建一个新的仓库文件。
1、创建一个新的仓库文件:
Location 私钥仓库文件的保存位置。
Password 私钥仓库的密码。
Confirm 再次确认私钥仓库的密码。
2、使用已有的仓库文件:
Location 既存私钥仓库文件的位置。
Password 既存私钥仓库的密码。
点击Next继续。
这里又有两个选项:
Use existing key 使用已经存在的私钥对APK进行签名。
Create new key 创建一个新的私钥用于对APK进行签名。
1、创建一个新的私钥:
选中Create new key后,点击Next继续。
在打开的窗口中,输入相关参数,其中:
Alias 私钥名称。
Password 私钥的密码。
Confirm 再次确认私钥密码。
Validity (years) 有效期,单位是年,与命令行执行时的单位不同。
下面的可选参数里,必须有一项不为空,其它可选参数可以不填。
2、使用已有的私钥:
Alias 下拉列表里会列出私钥仓库文件里存在的私钥,选择想要使用的私钥。
Password 输入选择的私钥对应的密码。
点击Next继续。
在新窗口中,选择签名后的文件保存的位置,点击Finish完成上述所有操作。
生成未签名的APK:
使用命令的方式对APK进行签名,该APK必须是未签名的。
如果对已签名文件进行再签名,不会成功。如下方式可以得到一个未签名的APK:
工程->右键->Android Tools->Export Unsigned Application Package...
另外,新的ADT会在工程目录下生成proguard.cfg文件,使用它可以在签名时混淆代码。
混淆代码可以加大反编译代码后的理解难度,起到保护代码的作用。
使用方法是,修改工程目录下的project.properties文件,在最后添加:
proguard.config=proguard.cfg
- APK_ Android创建私钥并为APK文件签名的相关命令及图形化方式
- Android创建私钥并为APK文件签名的相关命令及图形化方式
- Android创建私钥并为APK文件签名
- APK_获取Android的APK包签名信息
- APK_给APK文件签名方法
- android 创建私钥 为apk签名
- APK_篡改apk文件的可行性分析
- android 命令创建签名文件keystore、修改已有keystore的别名密码、重新签名APK
- android 为apk文件签名
- Android 安装apk文件及相关命令
- Android 创建自己的证书文件,使用signapk.jar为apk以及zip文件签名
- 通过signapk.jar 为Android 应用程序签名,并优化签名后的APK应用程序
- android 签名文件生成及签名过的apk查看签名方法
- eclipse android 设置及修改生成apk的签名文件
- eclipse android 设置及修改生成apk的签名文件
- eclipse android 设置及修改生成apk的签名文件
- eclipse android 设置及修改生成apk的签名文件
- eclipse android 设置及修改生成apk的签名文件
- adb常用命令
- 网络Cookie工作原理
- MySQL中取整函数round和floor
- java中try 与catch的使用
- 利用SWIG对C++库进行Python包装
- APK_ Android创建私钥并为APK文件签名的相关命令及图形化方式
- SQL2000几例错误处理
- 禁止下载弹出空白页
- linux 给内核模块传递参数
- PHP字符串正则替换函数preg_replace
- 用socket来代替HttpWebRequest和HttpWebResponse
- 招聘技巧
- 木木的常用软件点评(2)------VC程序员常用工具篇
- 一条sql语句 (合并结果)