2012-03-25 11 views

答えて

10

ソースコードを一度変更する場合は、Androidコマンドラインツールandroid update projectを使用してください。ドキュメントは[developer docs] [1]にあります。

すべてのビルド中に動的に実行したい場合は、カスタムビルドスクリプトが必要です。aapt残念ながら、デフォルトのaaptタスクは使用できません--rename-manifestオプションの設定がサポートされていない-パッケージ。

デフォルトのbuild.xmlファイルに次のターゲットを追加する必要があります。androidコマンドラインが作成されます。前プロパティpackage.manifest.name意志は、パッケージの名前が含まれてい

<!-- Replaces the target in tools\ant\build.xml --> 
<target name="-package-resources" depends="-crunch"> 
      <!-- this exec replicates the output of the aapt task in build.xml 
       -package-resources with the addition of a rename-manifest-package option. --> 
      <exec executable="${aapt}" failonerror="true"> 
       <arg value="package" /> 
       <arg value="-f" /> 
       <arg value="--auto-add-overlay" /> 
       <arg value="-M" /> 
       <arg path="${basedir}/AndroidManifest.xml" /> 
       <arg value="-S" /> 
       <arg path="${resource.absolute.dir}" /> 
       <arg value="-S" /> 
       <arg path="${basedir}/${android.library.reference.1}/${resource.dir}" /> 
       <arg value="-A" /> 
       <arg path="${asset.absolute.dir}" /> 
       <arg value="-I" /> 
       <arg path="${android.jar}" /> 
       <arg value="-F" /> 
       <arg path="${out.absolute.dir}/${resource.package.file.name}" /> 
       <arg value="--rename-manifest-package" /> 
       <arg value="${package.manifest.name}" /> 
      </exec> 
</target> 

<import file="${sdk.dir}/tools/ant/build.xml" />に追加します。プロパティファイルまたはコマンドラインオプションで設定することができます -Dpackage.manifest.name=value これを拡張してプロパティに基づいて出力apkの名前を変更することもできます。

この質問はAPKの出力名に追加するマニフェストからバージョン情報を取得する対象: How to include version string in the filename when building Android apk with ant?

あなたはあなたが必要なもののアイデアを得るために輸入されたbuild.xmlファイルを見てみたいと思うでしょう上書きする。

ローカルのbuild.xmlファイルにルールのオーバーライドを追加し続けることができますが、必要なカスタマイズのレベルのために、私はアンドロイドツールからbuild.xmlファイルを直接コピーし、それをインポートとして使用するよりも。これは、アンドロイドのツールチェーンのすべてのアップデートで引き続き動作するかどうかを確認するより多くの作業を意味します。

+0

ありがとうございました! @edthethirdに返信する際に述べたように、パッケージ名、バージョン番号、バージョン名を更新する必要があります。私は本当にAntを使いたいと思っていますが、実際には紛失しています。あなたは私にリンクすることができる良いリソース? – OrhanC1

+0

antのドキュメントは、{sdk.dir} /tools/ant/build.xmlのアンドロイドのbuild.xmlファイルを見てもわかるはずです。 aaptターゲットは、ツールに付属しているデフォルトのaapt javaタスクの制限のため、実際には唯一の特別なソースです。残りはプロパティ値を正しく設定することです。 – cistearns

+0

いろいろな回答をしてみると、この答えは私にとって救われたものです。 – Guykun

関連する問題