我正在拼命尝试上传一个使用 Intellij IDEA 使用 Adobe Flex SDK 4.6 开发和打包的 Android 应用程序。 PKCS#12 是使用 openSSL 创建的(我只是想提一下这一点,但我不认为这是问题所在)。
一切都很顺利,直到我愚蠢地想要将应用程序发布到 Google Play 商店。这简单的一句话就毁了我所有的梦想:
Google Play requires versionCode to be set to a positive 32-bit integer in AndroidManifest.xml.
好吧,您不能直接从 Flex SDK 定义 Android 版本代码,这已经不是什么 secret 了。你必须使用 -Tag,我就是这么做的。实际上,我尝试了几种不同的组合(当然一次只有一种),例如:
<versionNumber>0</versionNumber>
<versionNumber>1</versionNumber>
<versionNumber>2</versionNumber>
<versionNumber>0.0.1</versionNumber>
<versionNumber>1.0.0</versionNumber>
<versionNumber>2.0.1</versionNumber>
...以及任何你能想象到的...
但无论我做什么,当我上传 APK 时,状态栏都会达到 100%,并开始倒数,就好像它在 mock 我一样,最后出现上述错误消息。
从 Adobe 社区我了解到,在 Android 上,AIR 版本 a.b.c 使用以下公式转换为 Android 版本代码:a*1000000 + b*1000 + c。
好吧,使用这个公式,我的 -Tag 的所有值都应该变成 32 位整数。
有什么想法吗?
最佳答案
这似乎是 Flex 中的一个错误,请尝试使用诸如 999 之类的数字。请参阅此线程 http://forums.adobe.com/thread/765086
您还可以拆开 Flex 生成的 apk 并查看 list 以了解发生了什么,您甚至可以在手动更改值后将其重新组合起来查看 How to view AndroidManifest.xml from APK file?
关于android - Google Play 要求 AndroidManifest.xml 中的 versionCode 设置为正 32 位整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13634458/