1

aapt の--version-codeオプションを使用して、マニフェストでバージョン コードが定義されていない APK にバージョン コードを追加/挿入する方法があると言われました。ただし、これを行っている人の例は見つかりませんでした ( https://groups.google.com/forum/#!msg/adt-dev/XjehZDzfXhk/g2sWBC37_I4Jを除いて、デッドページにリンクしていて、そうではありません私がやろうとしているのと同じことでさえ)実際にそれが可能であれば。

aapt d badging example.apk問題のapkで現在実行されていると、次のようなものが返されます

パッケージ: name='com.example.core' versionCode='' versionName='1.0.0' sdkVersion:'8'

私のマニフェストでは、現在、バージョン名が xml ファイル内の文字列として定義されているため、android:versionName="@string/app_version_name"(マニフェスト タグ内で) のようなものを使用してプルできます。ただし、バージョンコードでこれを試してみると、参照を解決したくないようです。入力したパスに文字通りバージョン コードを設定しようとしますが、整数ではないため失敗します。

私は何かをしようとしましaapt p --version-code 100 example.apkたが、プロジェクト全体をパッケージ化したいようで、apk ファイルではなくファイルのディレクトリを入力として期待しています。(それがのデフォルトの動作だと思いますaapt p[ackage]

aapt ツールを使用してビルドした後に APK のバージョン コードを設定することはできますか? もしそうなら、正しい構文は何ですか?

4

1 に答える 1

2

このソリューションは aapt を直接使用しませんが、舞台裏で使用します。

Android APKToolを使用して APK を開き、 AndroidManifest.xml ファイルを変更し、バージョン情報を追加できます。その後、再度 APKTool を使用して再パックします。このツールはオープンソースで、aapt を使用しています。したがって、そのコードを見て、aapt を直接使用する方法を理解することができます。

于 2012-07-31T02:44:57.667 に答える