2

Intellij IDEA を使用して Adob​​e 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 versionCode を直接定義できないことは秘密ではありません。-Tag を使用する必要があります。実際、私はこれを次のようないくつかの異なる組み合わせで試しました (もちろん、一度に 1 つだけです)。

<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% になり、あたかも私を笑っているかのように逆方向にカウントし始め、上記のエラー メッセージが表示されます。

Adobe コミュニティから、Android では、AIR バージョンの abc が次の式を使用して Android バージョンのコードに変換されることを知りました: a*1000000 + b*1000 + c.

さて、この式を使用すると、-Tag のすべての値が 32 ビット整数になるはずです。

何か案は?

4

3 に答える 3

2

Flex SDKにはここにリストされているバグがあるため、ここで共有したい回避策を選択する必要がありました。

私の解決策は、APKファイルを解凍し、AndroidManifest.xmlを編集し、APKファイルを再度パックして署名することです。私はapktoolとjarsigner(JDKの一部)を使用しています。

java -jar apktool.jar d MyApp.apk // unpack
// edit AndroidManifest.xml
java -jar apktool.jar b MyApp_patched.apk // repack
jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -storetype pkcs12 -keystore ../AndroidCertificates.p12 MyApp_fixed.apk "1" // sign
于 2012-12-17T15:35:04.900 に答える
2

これは Flex のバグのようです。999 などの数字を試してください。このスレッドを参照してください http://forums.adobe.com/thread/765086

また、Flex が生成する apk を分解し、マニフェストを見て何が起こっているかを確認することもできます。手動で値を変更した後、元に戻すこともできます。APKファイルから AndroidManifest.xml を表示する方法を確認してください。 ?

于 2012-11-29T21:03:58.313 に答える
1

バージョン コードは、最新のビルドを追跡するための増分番号です。

あなたが話しているのは versionName です。versionName は 0.0.0.0-SNAPSHOT などにすることができます

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.my.app"
    android:versionCode="23"
    android:versionName="1.2.1" >

versionCode は整数です

versionName は文字列です

http://developer.android.com/guide/topics/manifest/manifest-element.html#vcode

于 2012-11-29T20:52:35.847 に答える