【问题标题】:Google Play suddenly objects that my app signature is invalidGoogle Play 突然反对我的应用签名无效
【发布时间】:2018-05-25 01:43:34
【问题描述】:

我有一款应用正处于发布日期之上(从 Beta 版转移到发布候选版)。一切都很好,但我刚刚将 Android Studio 从 rc6 升级到了 rc7。该应用程序(游戏)是使用 Unity 2018.1 开发的,一切似乎都很好;但是在将 apk 上传到 Play 商店时,我突然收到消息:

“您上传的 APK 签名无效(了解有关签名的更多信息)。来自 apksigner 的错误:ERROR: JAR_SIG_NO_MANIFEST: Missing META-INF/MANIFEST.MF”

我不是一个经验丰富的 Android 开发人员(大概四个月前才开始接触它),所以我不完全确定这是什么。我和以前一样使用相同的密钥库,Unity 毫无怨言地编译了 APK。 (这实际上是 rc1 编译。)

谁能告诉我可能发生了什么变化?我的签名/清单发生了什么变化?

(附录:)

根据要求,我的播放器设置屏幕截图,来自 Unity。请注意,我已经验证包名称完全准确,预加载的资产是一个空列表,并且我的密钥库没有进行任何更改。此外,我们尝试将 APK 上传到新的商店条目,以防出现这种情况,但我们得到了完全相同的错误。

目前,我们正在尝试进一步升级 Android Studio,并下载额外的 Android API(从 4.1 到 8.1 的所有 API,而不仅仅是其中的一部分)。尽管术语“API”具有传统含义,但在我看来,在这种情况下它可能与硬件依赖性有关,并且可能会破坏清单文件。如果它解决了任何问题,我一定会亲自回答。

【问题讨论】:

    标签: android unity3d google-play manifest signing


    【解决方案1】:

    解决了!

    似乎由于某种原因,更新 SDK 使我没有某些 API 级别。这可能会导致一个可编译但相当混乱的 APK; Google Play 正在寻找不存在的块的清单引用。

    为了说明,我将我的应用设置为在 4.1 (API 16) 到 8.1 (API 27) 上运行。我的系统上只有 API 27。为什么这至少没有导致编译器发出警告,老实说,我不知道;但是在进入android SDK的bin目录并运行之后:

    sdkmanager "platforms;android-[API number]"
    

    对于我丢失的每个 API,然后重新启动(Windows 和所有...),它编译了一个足够的 APK,该 APK 已在商店中接受。

    整个磨难实际上非常累人,如果我在靠近裸机的地方舒适地工作,解决方案可能很明显。道德?在您确定自己还有几天的消耗时间之前,请不要更新 SDK 中期项目。

    希望这个解决方案能帮助遇到同样问题的其他人。

    【讨论】:

      【解决方案2】:

      检查您的密钥库。你用过同一个别名吗?您必须使用相同的别名。

      【讨论】:

      • 我有,这是我检查的第一件事。还有什么可能导致这种情况?
      • 你能分享你的构建设置截图吗?
      • 我很高兴,明天下午我回到工作室后会尽快添加。是的,我从 Unity 构建并成功上传了 25 次,但更新 Android 工具后的 26 次(rc1)根本不起作用。好难受。
      猜你喜欢
      • 2018-02-17
      • 1970-01-01
      • 1970-01-01
      • 2017-10-19
      • 2016-09-16
      • 2018-02-05
      • 2020-04-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多