android - Google Play 突然反对我的应用程序签名无效

标签 android unity-game-engine google-play manifest signing

我有一个应用刚好在其发布日期之前(从 Beta 变为 Release Candidate)。一切都很好,但我刚刚将 Android Studio 从 rc6 升级到 rc7。该应用程序(游戏)是使用Unity 2018.1开发的,一切似乎都很好;但是在将 apk 上传到 Play 商店时,我突然收到消息:

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

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

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

(附录:)

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

Player settings for erroneous project

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

最佳答案

解决了!

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

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

sdkmanager "platforms;android-[API number]"

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

整个考验实际上非常令人筋疲力尽,如果我能轻松地接近裸机,解决方案可能会很明显。道德?不要在项目中期更新 SDK,直到你确定你有几天可以消耗的时间。

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

关于android - Google Play 突然反对我的应用程序签名无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50520343/

相关文章:

java - 安卓 java.lang.IllegalArgumentException : View not attached to window manager

android 在默认图库查看器中显示图像

java - Android 使用 HttpUrlConnection 连接到网站失败

unity-game-engine - 何时在 Unity 脚本中使用某些运算符

C# Vector3 四元数从一个方向旋转到下方表面的法线方向,但仅旋转百分比

Beta 和 Alpha channel 中的 Android AdMob 真实广告单元 ID

Android 应用内订阅过期检查和测试

android - 为什么上下文菜单在 "Notepad"教程中不起作用?

c# - Unity3d : Get a direction vector parallel to plane

android - 将 App Bundle 上传到 Google Play 卡在处理中