Android 空包签名(详细版)

不采坑你就不知道有多少坑,认领应用的第一步就是空包签名,首先是改签名,相信打包过APK的朋友都知道签名是什么。我现在的情况我来描述一下,就是我这里有源码,但是没有之前的jks,所以无法获得原来的签名,于是我就重新生成新的jks去进行签名,生成APK。而如果要认领应用,平台就必须先肯定你的签名。下面我就用VIVO开放平台来举例子。

一、下载空包


首先登陆你的开发者平台,然后找到上传应用的地方,先看一下平台是否用这个包名上传过应用,是的话就进行认领,这里我使用的是VIVO开放平台。如下图为认领应用界面。

在这里插入图片描述

点击图中的标注的天蓝色字体,进行下载。下载后解压你会看到这样两个文件。

在这里插入图片描述

vivo_unsign.apk就是平台上未签名的空包,而你要做的就是把你当前需要上架应用市场的项目的签名打到这个apk上面。

在这里插入图片描述

之前是不是没听说过,脑瓜子嗡嗡的吧。为了更加的生动形象,我这里用我之前写的demo来做这个演示。

在这里插入图片描述

就决定是你了,TranslateDemo,这是一个百度翻译Demo,看过这篇博客应该记忆犹新,下面先获取keystore文件。

二、获取keystore


其实在我们生成jks文件的时候,会有一个小提示,类似下面这样

**JKS 密钥库使用专用格式。建议使用 “keytool -importkeystore -srckeystore xxx.keystore -destkeystore xxx.keystore -deststoretype pkcs12” 迁

移到行业标准格式 PKCS12。**

说你不符合行业标准什么的。但是通常我们都是不管它的,它就是让你去生成keystore文件。

那么在哪里生成这个keystore呢?首先打开你的项目,然后找到底部菜单的Terminal,点击之后就会进入到你自己项目当前的目录,如下图所示:

在这里插入图片描述

然后输入

keytool -genkey -alias jks别名 -keyalg RSA -validity 20000 -keystore keystore名称

比如我的别名是key0,我希望生成的keystore名称是translate.keystore,那么就可以这么写。

keytool -genkey -alias key0 -keyalg RSA -validity 20000 -keystore translate.keystore

然后输入秘钥的密码,然后验证密码,之后就是填写一些相关的资料。

在这里插入图片描述

如果你这些资料都忘记了,那么可以通过当前的jks和密码去查看。

比如你新开一个Terminal,在里面输入如下代码:

keytool -list -v -keystore 你的jks路径

比我的路径是D:\APK\translate.jks,那么就这么写

keytool -list -v -keystore D:\APK\translate.jks

然后回车,输入密码后再回车,你就能查看到创建时的信息了。

在这里插入图片描述

然后切换到Local。按照要求输入,因为我之前创建jks,只输入了自己的名字,其他都没有输入,没有的直接回车跳过,最后的问题,问你是否正确,输入Y。如下图所示:

在这里插入图片描述

然后回车。

在这里插入图片描述

由于我的别名密码和秘钥库秘钥是一致的,所以我直接回车,然后就会出现如下所示的提示,复制我标注的这句代码,以你自己的实际为主。

在这里插入图片描述

粘贴到下面去,然后回车,再输入密码,然后就成功创建了keystore文件。

在这里插入图片描述

这个文件在哪呢?如下图所示:

在这里插入图片描述

是不是挺麻烦的,就上面的这些内容我都不知道看了多少博客,踩了多少坑才写出来的。

现在keystore有了,下面就该来签名了,这个签名也有很多的坑。

三、空包签名


首先请安装JDK,如果没有安装的话,请看JDK 安装与环境变量配置(Win10详细版)完成安装。

之后进入到jdk安装目录的bin目录下,比如我的目的地址是:C:\Program Files\Java\jdk1.8.0_162\bin

在这里插入图片描述

然后用管理员身份打开命令提示符,

在这里插入图片描述

管理员打开是不一样的,如下图所示:

在这里插入图片描述

下面把未签名的vivo_unsign.apk、translate.jks和translate.keystore三个文件都复制到这个bin目录中。都是需要管理员权限的。如下图所示就复制进来了。

在这里插入图片描述

然后通过 cd C:\Program Files\Java\jdk1.8.0_162\bin,进入此文件目录下:

在这里插入图片描述

参考格式如下:

jarsigner -verbose -keystore 签名文件路径 -signedjar 签名后APK保存地址路径 未签名APK地址路径 签名文件的别名

那我当前举例子:我刚才把三个文件复制到bin中来,我希望签名后的apk也放在bin中,于是就如下面这样。

签名文件路径 :translate.keystore

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
img

推荐学习资料


  • 脑图
    360°全方位性能调优

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

[外链图片转存中…(img-hEg2uurc-1712824882621)]
[外链图片转存中…(img-p3zNYNhC-1712824882621)]

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-ATReXeB6-1712824882622)]

  • 29
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值