APK重新签名或者更换APK签名版本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了APK重新签名或者更换APK签名版本相关的知识,希望对你有一定的参考价值。

参考技术A

在某些特殊情况下,需要对已经生成的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通过执行如下命令尝试:

怎么给修改后的apk重新签名?

一个是我想修改apk,设置一个我所固有的签名,以后给其他apk签名也可以弄同一个签名,再就是怎么给apk设置版本,以便以后更新覆盖

1、首先我们要对apk文件进行改名与后缀,将其连同后缀一起改掉,如1.zip。

2、这时文件就变成一个zip压缩包了,可提取解压这个压缩包,打开这个解压的文件,会看到里面构成程序文件的很多东西,然后根据网上教程对程序进行简要修改。

(当然如果要反编译的话就不是这样子了,不过直接解压也是可以修改很多东西的),这里修改操作建议在电脑端完成比较方便,修改后重新将这些文件压缩成zip格式。

3、下载安装ZipSigner手机签名工具,并打开。

4、点击输入,浏览文件目录找到刚修改好并重新压缩的zip文件,在输出选项可以修改其名称,然后点击签名,模式为auto-testkey就可以了,等一会就签名未完成了。

apk文件结构:

1、META-INF\\(注:Jar文件中常可以看到)。

2、res\\(注:存放资源文件的目录)。

3、AndroidManifest.xml(注:程序全局配置文件)。

4、classes.dex(注:Dalvik字节码)。

5、resources.arsc(注:编译后的二进制资源文件)。

参考技术A

给修改后的apk重新签名的方法为:

1、首先,删除apk包中的签名文件。在左侧的压缩文件中,找到META-INF选项,并删除。

2、再次更改apk格式为压缩包形式,将其改回.apk格式。找到证书debug.keystore,将其复制到与需要重新签名的apk文件相同的目录下。

3、按“WIN+R”,打开【运行】;输入“cmd”,进入D:\\Sign目录;

4、运行下面的命令,-androiddebugkey表示Key别名。

5、最后,修改后的apk重新签名就完成了。

参考技术B

给修改后的apk重新签名方法:

工具:ZipSigner手机签名工具(搜一下这个名字就能找到apk软件);安卓手机;

1、首先我们要对apk文件进行改名与后缀,将其连同后缀一起改掉,如1.zip:

2、这时文件就变成一个zip压缩包了,可提取解压这个压缩包,打开这个解压的文件,会看到里面构成程序文件的很多东西,然后根据网上教程对程序进行简要修改(当然如果要反编译的话就不是这样子了,不过直接解压也是可以修改很多东西的),这里修改操作建议在电脑端完成比较方便,修改后重新将这些文件压缩成zip格式:

3、下载安装ZipSigner手机签名工具,并打开:

4、点击输入,浏览文件目录找到刚修改好并重新压缩的zip文件,在输出选项可以修改其名称,然后点击签名,模式为auto-testkey就可以了,等一会就签名未完成了:

参考技术C 签名,可以用
jarsigner

打命令行有提示使用方法

版本在xml中设置

http://developer.android.com/tools/publishing/versioning.html#appversioning追问

版本号在哪个xml修改?反编译还是解压缩状态? 在安卓市场发布更新时,多个个apk会不会因为签名一致而互相覆盖? 你说的这个软件能设置自己特有的签名吗?如输入一串密码,然后围绕这个密码进行算法生成一个签名

本回答被提问者采纳

以上是关于APK重新签名或者更换APK签名版本的主要内容,如果未能解决你的问题,请参考以下文章

delphixe11apk签名无效安装失败

android apk重新[签名]

Apk去掉签名以及重新签名的方法

Apk去掉签名以及重新签名的方法

加固后的APK重新签名

apk签名工具