我们的产品版本采用语义版本控制,附加数字用于构建包识别:
major.minor.patch.build
前三部分用于源代码版本控制,具体取决于API兼容性和错误修复(补丁)。最后一部分是跟踪多个 build 包。在没有源代码更改的情况下可能会发生多个构建(因此不会更改major.minor.patch
)。多个构建的原因很多都与Android APK打包有关(例如图标丢失/更改,minSDKVersion
增加,权限更改,SDK更新,描述符文件更改[我们使用AIR]等)
不幸的是,Google Play无法识别这个由4部分组成的版本。它只识别前三个部分。例如:
2.3.1.1
- 已上传,收到有关SDK / API最小版本不匹配的警告
2.3.1.2
- 没有源代码更改,只显示清单中的minSDKVersion
就Google Play而言,两者都是版本2.3.1
(2003001
)
为什么重要?
为了测试应用程序内结算(IAB)购买,必须将版本发布到Alpha(或Beta或Production)。发布后,如果不增加版本,则无法上传其他APK。就我们而言,我们 增加版本,但Google无法识别。对于我们来说,当没有源代码更改时碰到patch
数字是愚蠢的,并且违反公司版本控制方案,该方案跨越更多平台,然后只是Google Play。
那么IAB测试该怎么办?
- 我们在内部(不是通过Google Play)向APK分发APK,但我们仍然需要向Alpha发布APK才能测试IAB。
- 未发布版本号增加的APK,IAB测试错误(设备上的APK版本不能高于Google Play中最新上传的APK)
其他人如何处理这个问题?