1.Android studio怎么生成签名apk

2.apk签名工具

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

apk签名工具安卓版中文_apk签名工具安卓版

1.签名的步骤

a.创建key

b.使用步骤a中产生的key对apk签名

2.具体操作

  方法一: 命令行下对apk签名(原理)

创建key,需要用到keytool.exe (位于jdk1.6.0_24\jre\bin目录下),使用产生的key对apk签名用到的是jarsigner.exe (位于jdk1.6.0_24\bin目录下),把上两个软件所在的目录添加到环境变量path后,打开cmd输入

D:\>keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore

/*说明:-genkey 产生密钥

-alias demo.keystore 别名 demo.keystore

-keyalg RSA 使用RSA算法对签名加密

-validity 40000 有效期限4000天

-keystore demo.keystore */

D:\>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore

/*说明:-verbose 输出签名的详细信息

-keystore ?demo.keystore 密钥库位置

-signedjar demor_signed.apk demo.apk demo.keystore 正式签名,三个参数中依次为签名后产生的文件demo_signed,要签名的文件demo.apk和密钥库demo.keystore.*/

注意事项:android工程的bin目录下的demo.apk默认是已经使用debug用户签名的,所以不能使用上述步骤对此文件再次签名。正确步骤应该是:在工程点击右键->Anroid Tools-Export Unsigned Application Package导出的apk用上述步骤签名。

  方法二:使用Eclipse导出带签名的apk

Eclipse直接能导出带签名的最终apk,非常方便,推荐使用,步骤如下:

第一步:导出。

第二步:创建密钥库keystore,输入密钥库导出位置和密码,记住密码,下次Use existing keystore会用到。

第三步:填写密钥库信息,填写一些apk文件的密码,使用期限和组织单位的信息。

第四步:生成带签名的apk文件,到此就结束了。

第五步:如果下次发布版本的时候,使用前面生成的keystore再签名。

第六步:Next,Next,结束!

  方法三:使用IntelliJ IDEA导出带签名的apk?

方法步骤基本和Eclipse相同,大概操作路径是:菜单Tools->Andrdoid->Export signed apk。

Android studio怎么生成签名apk

一、可以使用如APKTool之类的反编译工具,使用方法网上有介绍,反编译完成后修改所有引用包名的地方及对应的文件夹,然后重新编译为新的APK,最后再用签名工具签名就行。

二、第一步是用命令行的形式进行的,如果不愿意进行繁琐的配置过程,可以使用一些可视化的APK修改工作,如APK改之理、VTS(Virtuous Ten Stdio)等,但主要修改的地方更第一步是一致的。

apk签名工具

1、生成你自己的jks文件

如果没有的就新建,点击Create New ... ?设置密码(123456)

然后Next -- Finish

2、使用keytool-importkeypair对jks文件引入系统签名

把platform.x509.pem、platform.pk8和上一部生成的jks文件统一放到一个文件夹下,比如我的是放在工程目录的signAPK目录下

将下载好的keytool-importkeypair配置一下,其实主要就是配置一下环境变量,不熟悉的可以阅读官方文档,然后使用下面这条命令(需要在linux下,用windows的可以去在linux下生成jks,然后复制出新的jks回原目录也可以)对jks文件引入系统签名

./keytool-importkeypair -k [jks文件名] -p [jks的密码] -pk8 platform.pk8 -cert platform.x509.pem -alias [jks的别名]

例如我的对应的就是:./keytool-importkeypair -k SignDemo.jks -p 123456 -pk8 platform.pk8 -cert platform.x509.pem -alias SignDemo

运行完这条命令之后,我们就得到了有系统签名的jks

3、配置gradle()

在在android区域下(与defaultConfig同级)添加signingConfigs配置:

依次填写jks的路径,密码,别名等

详情介绍

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

对apk进行反编译并修改后,需要对重新打包的apk进行签名。

秘钥生成工具——keytool

路径:jdk/bin/keytool.exe

生成秘钥: keytool -genkeypair -keystore test.keystore -alias test -validity 10 -keyalg RSA

其中-validity指定有效期天数,-keyalg指定算法

查看秘钥信息: keytool -list -v -keystore test.keystore

JDK签名工具——jarsigner

仅支持V1签名

路径:jdk/bin/jarsigner.exe

命令: jarsigner -keystore test.keystore test.apk testkey

apk签名工具——apksigner

默认开启V1和V2签名

路径:AndroidSDK/build-tools/28.0.0/apksigner.bat

命令: apksigner sign --ks xx.keystore --ks-key-alias testkey test.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通过执行如下命令尝试: