您现在的位置是: 首页 > 句子大全 句子大全
apk签名工具电脑版_apk签名v1+v2
tamoadmin 2024-09-20 人已围观
简介1.mac eclipse 怎么给apk签名2.怎么修改apk文件3.如何重签名APK文件4.如何为apk以及zip文件签名5.如何修改apk文件? 在某些特殊情况下,需要对已经生成的apk进行重新签名,或者对已经生成的apk更换签名版本(v1/v2/v3/v4)。如何实现呢? 可以通过命令行对已生成的apk进行处理。 apksigner.jar通常包含在Android SDK中可。路径一般是
1.mac eclipse 怎么给apk签名
2.怎么修改apk文件
3.如何重签名APK文件
4.如何为apk以及zip文件签名
5.如何修改apk文件?
在某些特殊情况下,需要对已经生成的apk进行重新签名,或者对已经生成的apk更换签名版本(v1/v2/v3/v4)。如何实现呢? 可以通过命令行对已生成的apk进行处理。
apksigner.jar通常包含在Android SDK中可。路径一般是在Android SDK/build-tools/ {SDK版本} /lib/apksigner.jar
不同的SDK版本中均有一个,取最新版本的就好了。
使用压缩软件打开apk,删除包内 /META-INF/ 文件夹及文件夹内所有文件,并重新压缩文件。
准备好签名证书及相关密码和需要刚处理过得apk文件
示例:
执行命令
接着输入证书保护密码及别名密码。
可以从此命令的输出中看出当前生成的apk签名情况。
可以通过如下命令行参数进行控制
--v1-signing-enabled true
--v2-signing-enabled true
--v3-signing-enabled false
使用的签名版本还跟apk编译时使用的最低SDK版本有关, 即min-sdk-version的值。如果设置的值大于等于26,即使添加--v1-signing-enabled true 也无法通过上述步骤签V1版本的签名--仅有V2签名(Android Studio也是)。
可以对最后生成的apk通过执行如下命令尝试:
mac eclipse 怎么给apk签名
上面命令中各选项说明如下。
-genkeypair:指定生成数字证书
-alias:指定生成数字证书的别名
-keyalg:指定生成数字证书的算法,使用RSA算法
-validity:指定生成的数字证书的有效期
-keystore:指定所生成的数字证书的储存路径
输入上面的命令后按回车,会出现以交互方式让用户输入数字证书keystore的密码/作者/公司等详细信息。
备注:这一步时生成属于你们公司/你的数字证书,这一步只需要做一次即可。一旦数字证书创建成功之后,只要在该证书有效期内,可以一直重复使用该证书。
2.生成未签名的APK安装包。在Eclipse中右击Android项目,在弹出的菜单中找到“Android Tools -->Export Unsigned Application Package...“菜单项,Eclipse弹出一个保存文件的对话框,当用户选择储存文件后单击”Finish”按钮即可生成一个未签名的APK安装包。
备注:这一步是生成一个未签名的APK按转包,如果已经有未签名的安装包,那么该步骤可以跳过
3.使用jarsigner命令对未签名的APK安装包进行签名。JDK的安装目录下的bin子目录下提供了jarsigner.exe工具进行签名。在命令行窗口输入如下命令:
怎么修改apk文件
给apk文件签名主要分三步:
1、创建证书
2、签名
3、优化(可选)
1)使用jdk的keytool工具生成签名用的证书> keytool -genkey -v -alias CERT -keyalg RSA -keysize 2048 -validity 10000 -keystoreCERT.keystore 创建过程需要输入一些标识信息和密码,一些重要的参数值说明如下(根据自己的需要要进行相应的修改): CERT.keystore ---- 证书保存的文件名 CERT ---- 证书的别名 10000 ---- 10000天的有效期 2048 ---- 默认为 bits,Android 建议使用2048 bits或更高其他的详细信息可以使用keytool -help查看帮助 证书生成后使用如下命令可以查看证书的信息:> keytool -list -alias CERT -keystore CERT.keystore
2)使用jdk的jarsigner工具对apk文件签名> jarsigner -verbose -keystore CERT.keystore to_sign.apk CERT 签名过程需要输入证书的密码,一些重要的参数值说明如下(根据自己的需要要进行相应的修改): CERT.keystore ---- 证书保存的文件名 CERT ---- 证书的别名 待签名的apk文件根根目录下如果有文件夹“META-INFO”,请先删除(重新签名就需要这样做)。如果不想创建过程输出太多信息,可以删除“-verbose” 。上述签名会直接覆盖原来的文件,如果不想被覆盖而签名为另外的新文件 signed.akp,只需将 to_sign.apk 改为 -signedjar to_sign.apk signed.akp 即可。签名后可以使用如下命令验证是否签名成功: > jarsigner -verify to_sign.apk 如果需要查看更详细的验证信息,可修改为:> jarsigner -certs -verbose -verify to_sign.apk
3)使用android sdk的zipalign工具优化已签名的apk文件> zipalign -v 4 unaligned.apk aligned.apk 注意要在签名后再zipalign。这个工具不是jdk自带的,而是在%ANDROID_HOME%\tools\zipalign.exe。
如何重签名APK文件
首先搭建jdk环境。
下载完后,点击安装。然后设置运行环境参数:
用鼠标右击“我的电脑”->属性->高级->环境变量
系统变量->新建->变量名:JAVA_HOME变量值:D:\ProgramFiles\Ja\jdk1.7.0(这是我的安装
路径这个不是固定的,比如你安装到C:\ProgramFiles,就填C:\ProgramFiles\Ja\jdk1.7.0)
系统变量->编辑->变量名:Path在变量值的最前面加上:%JAVA_HOME%\bin;(若已经有Path
项,无须另外新建,直接在后面加,但需用;与前面已有的项分隔开)
系统变量->新建->变量名:CLASSPATH变量值:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
最后测试下环境变量是否设置成功
点开始菜单-运行-在这里输入cmd-回车-输入jac
如果出现如下信息:
用法:jac<选项><源文件>
其中,可能的选项包括:
-g 生成所有调试信息
-g:none 不生成任何调试信息
-g:{lines,vars,source} 只生成某些调试信息
-nowarn 不生成任何警告
-verbose 输出有关编译器正在执行的操作的消息
-deprecation 输出使用已过时的API的源位置
-classpath<路径> 指定查找用户类文件的位置
-cp<路径> 指定查找用户类文件的位置
-sourcepath<路径> 指定查找输入源文件的位置
-bootclasspath<路径> 覆盖引导类文件的位置
-extdirs<目录> 覆盖安装的扩展目录的位置
-endorseddirs<目录> 覆盖签名的标准路径的位置
-d<目录> 指定存放生成的类文件的位置
-encoding<编码> 指定源文件使用的字符编码
-source<版本> 提供与指定版本的源兼容性
-target<版本> 生成特定VM版本的类文件
-version 版本信息
-help 输出标准选项的提要
-X 输出非标准选项的提要
-J<标志> 直接将<标志>传递给运行时系统
恭喜,你的Ja环境变量配置成功了!
2.如果出现:
'jac'不是内部或外部命令,也不是可运行的程序
或批处理文件。
说明这Ja环境变量配置出错了,仔细检查下吧!
如何为apk以及zip文件签名
你好,
方法1:需要删除apk包中的签名文件,META-INF(更改apk格式为压缩包形式,删除META-INF文件夹,改回.apk格式);
将证书(debug.keystore)复制到与需要重新签名的apk文件相同的目录下(如:复制到D:\Sign);
进入cmd模式,进入D:\Sign目录;
运行下面的命令jarsigner -verbose -keystore debug.keystore -storepass android -signedjar PhoneBook_signed.apk -digestalg SHA1 -sigalg MD5withRSA PhoneBook.apk androiddebugkey/*解释:-jarsigner是ja的签名工具-verbose参数表示:显示出签名详细信息-keystore表示使用当前目录中的debug.keystore签名证书文件-storepass android表示Keystore密码:“android”-signedjar PhoneBook_signed.apk表示签名后生成的APK名称PhoneBook.apk表示未签名的APK Android软件-digestalg SHA1 -sigalg MD5withRSA:这就是必须加上的参数,如果你是jdk 1.6也不受影响-androiddebugkey表示Key别名
ok,看看文件夹吧;
方法2:使用工具re-sign.jar。打开re-sign.jar。删除签名文件,META-INF后,拖动apk到re-sign.jar处,并点击保存;
ok,看看文件夹吧;
满意望纳,谢谢
如何修改apk文件?
如果你只是想知道如何签名及下载签名工具,请直接看“如何使用SignApk.jar来为一个apk或zip文件签名”部分。要创建自己的证书请从头看起。
准备知识:
当你要发布一个软件或是自制的ROM时,你就需要一个使用了私钥的证书来为.apk或.zip文件进行签名。Android系统使用证书来识别软件作者和软件之间所建立的认证关系。做这个事情最经典的方式就是用keytool创建证书,然后使用jarsigner进行签名。但是本教程则会提供一个对于大多数人来说更为容易的方法,那就是使用一个名为SignApk.jar的工具。
SignApk.jar是一个已包含在Android平台源码包中的工具,你可以在本贴的附件中下载。如果要使用SignApk.jar,你需要创建一个带有对应证书/公钥的私钥。而你可以使用Openssl来创建私钥/公钥对。在Unix/Linux系统中使用Openssl相对来说比较容易。对于Windows用户,你可以在本贴附件或此链接中下载Windows版本的Openssl。
如何使用OpenSSL创建私钥/公钥对(也就通常说的证书文件,有误勿怪)(Windows版本)
下载附件中的openssl-0.9.8k_WIN32.zip
将下载到的压缩包解压到你电脑上的任意位置(例如:C:\OpenSSL)
在OpenSSL\bin文件夹下按顺序输入(使用CMD命令行工具,其中第2步会需要你输入一些信息,见图):
1、openssl genrsa -out key.pem
2、openssl req -new -key key.pem -config C:\OpenSSL\openssl.cnf -out request.pem
3、openssl x509 -req -days 9999 -in request.pem -signkey key.pem -out certificate.pem
4、openssl pkcs8 -topk8 -outform DER -in key.pem -inform PEM -out key.pk8 -nocrypt
大星星提示:如果你的recovery不具备签名校验切换功能,那么用你自己生成的证书文件来给ROM签名,会提示签名校验失败。因为目前几乎所有的第三方recovery中所带的私钥都是testkey的。(附件中的android.zip里面所包含的证书文件已更新为testkey)
如何使用SignApk.jar来为一个apk或zip文件签名:
下载附件中的android.zip
将下载到的压缩包解压到你电脑上的任意位置(例如:C:\android)
如果你的电脑上还没有安装JAVA环境,请下载并进行安装。
(如果你创建了自己的私钥/公钥对)复制certificate.pem和key.pk8到你解压得到的android文件夹中
使用CMD命令行工具cd到android文件夹,然后输入:(对于我提供的包,只需要将要签名的文件放在android文件夹中,然后拖至对应的批处理文件上即可)
ja -jar signapk.jar certificate.pem key.pk8 your-.apk your-signed-.apk
或是
ja -jar signapk.jar certificate.pem key.pk8 your-update.zip your-signed-update.zip
一、准备工作:
1、下载软件ArscEditor.exe
2、下载软件AndroidResEdit.zip
二、修改 APK 软件名称:
1、右击 APK 安装包,用压缩软件解压到当前文件夹;
2、解压后找到文件“resources.arsc”;
3、打开附件①,将文件“resources.arsc”直接拖入ARSC编辑器的空白处中;
4、选择“string”标签,并找到键值“_name”;
5、将“区域”切为CN(有的不用切换),然后在“区域值”中修改你想要的软件名字,修改好后点击“保存当前值”;
6、点击“文件”,选择“保存”,并覆盖保存;
7、右击 APK 安装包,用压缩软件打开;(注:无需解压)
8、将修改好的“resources.arsc”文件直接拖入进安装包内并确认覆盖原文件;
三、重新签名:
1、打开附件②所得到的文件夹,并打开签名工具“AndroidResEdit.exe”;
2、选择“签名” - “签名 apk 文件”;
3、选择刚刚修改好的 APK 软件,并点击“立即签名”;?
4、弹出窗口“签名完成”,即可;