apk签名工具安卓版中文_apk签名工具安卓版
1.Android studio怎么生成签名apk
2.apk签名工具
3.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通过执行如下命令尝试:
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。