[Unity] Unity 发布Android工程的签名问题

查看:412 |回复:4 | 2021-2-23 14:51:31

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 源数之力 于 2021-3-2 14:41 编辑

Unity版本:
Android Studio:
Android Studio 3.4.1
Build #AI-183.6156.11.34.5522156, built on May 2, 2019
JRE: 1.8.0_152-release-1343-b01 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0

问题1:更换电脑后出包,上传平台,平台检测签名不一致问题
任何一个APK都必须签名后才能安装到手机上。
若没有设置签名,AS中直接run的时候,这时候会默认使用一个debug签名,
MAC上debug签名的路径是“/Users/xxx/.android/debug.keystore”
Windows上debug签名的路径是:“C:\Users\xxx\.android\debug.keystore”
debug.keystore信息如下:

Keystore name: "debug.keystore"
Keystore password: "android"
Key alias: "androiddebugkey"
Key password: "android"
CN: "CN=Android Debug,O=Android,C=US"
而每一台电脑debug签名是不同的,这就导致在新电脑上出包时的apk与以前上传平台的apk的签名不一致,从而无法更新apk。

2021-2-23 14:51:31  
 赞 赞 0

使用道具 登录

4个回答,把该问题分享到群,邀请大神一起回答。
2#
方法1:配置debug时都使用同一个签名而不使用默认的

方法2:将一台电脑的debug.keystore拷贝到另一台电脑对应位置

方法3:针对unity 可以在 PlayerSetting/Publishing Settings 中指定签名文件,这样Unity导出的工程就自带签名。
回复 收起回复
2021-2-23 15:09:01   回复
 赞 赞 1

使用道具 登录

3#
元素果然有不少大神,谢谢分享知识
回复 收起回复
2021-8-28 07:47:42   回复
 赞 赞 2

使用道具 登录

4#
andoid为什么要签名,不太清楚啊,也许是往GooglePlay上发布需要。貌似是相同签名的程序才会一个覆盖掉另外一个,否则提示签名不一致,无法安装。

如何制作签名? 其实很简单。

1、unity3d菜单 File-》build setting——》play setting——》android。



2、勾选Create a new key,点击Browse Keystore  定位到保存目录。填写密码(切忌记住  后面会用到)

3、点击 Alias 后面的 Unsigned(debug) 可以下拉选择 create a key   弹出



填写相应的信息 密码填写前面那个  完成后点击 Create key。  这样生成了要用的签名

使用签名

勾选use Existing Keystore  找到你生成keystore的文件  在alias里面下拉选中生成的keystore,填写之前的密码。就可以发包了





验证签名信息:

命令行输入 jarsigner -verify -verbose -certs  XXX.apk(apk 完整路径)  可以看到 比对签名信息(需要安装了jdk)
回复 收起回复
2021-8-28 12:59:12   回复
 赞 赞 1

使用道具 登录

5#
不是很会  感谢大佬们的回答 学习一波
回复 收起回复
2021-12-25 12:05:13   回复
 赞 赞 1

使用道具 登录

CG 游戏行业专业问题

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表