2013-03-08 14 views
20

私はオンデマンドでAndroidアプリを作ることに興味があります。クライアントのリクエストに応じて、私のWebサイトから、JSONファイルをDelphiで作成したWindowsアプリケーションに直接送信します。これは、Androidアプリのソースフォルダ内にファイルを保存してから、APKファイルを生成してクライアントに送信するコマンドラインをAndroidコンパイラに実行します。コマンドラインからAPKをコンパイルするには?

AndroidプロジェクトはMotoDevで作成されました。そして、私のルートにあるAndroid SDKを使用します。

私のDelphiプログラム内でこれを実現するには、コマンドラインをどのように設定すればよいですか?

また、他のクライアントのバージョンと競合しないように新しいバージョン番号を入力するようにマニフェストを変更する必要があります。

答えて

31

AndroidはAntビルドシステムを使用しているため、プロジェクトにbuild.xmlbuild.propertiesファイルを作成できます。

あなたはしかし、最初のbuild.xmlファイルを作成する必要があります:

android update project -p . 

これはbuild.xmlファイルを生成します。おそらく、プロジェクトのビルドステップとターゲットをカスタマイズする必要があります。あなたのケースでは、具体的なビルドのためにあなたのウェブサイトによってbuild.propertiesファイルが生成されていることをお勧めします。build.xmlファイルでそれを組み込みます。特に、あなたは署名鍵があるbuild.propertiesファイルで指定する必要があり、どのようなパスワードがあります:

Build.Properties:

key.store=keystore.dat 
key.alias=signing_key 
key.store.password=password123 
key.alias.password=password123 

antを使用してビルドプロセスはまた、あなたがすることができますJavaファイルで変数の置換を行うこと。別の考えかもしれません。これにより、クライアントごとにビルドプロセスをさらにカスタマイズすることができます。

ant clean 
ant release 

他の巧妙なアイデア:デフォルトで

は、ビルドがによってトリガされてきたAntが結果のAPKは、ウェブサイトからアクセス可能なネットワーク共有にファイルをコピー< target name="release" >セクションに< copy ... />ラインを置くことによって。

android create project \ 
    --target 1 \ 
    --name MyName \ 
    --path . \ 
    --activity MyActivity \ 
    --package com.yourdomain.yourproject 

antで使用build.xmlファイルが生成されます:あなたが新しいプロジェクトを開始した場合

+0

だから、このbuild.propertiesもxmlファイルですか?これらの2つのファイルの完全な例を私に見せてもらえますか? – PSyLoCKe

+0

PHPサーバで同じことを行うには? @Andrew –

+2

私は既存のプロジェクトディレクトリにbuild.xmlファイルがありません。あなたは 'build.xmlファイルを作成する必要がありますが、私はすでにコンパイルしているとどうしてこのファイルが作成されないのでしょうか?スルー、言う... Eclipse/ADT? – Michael

5

プロジェクト作成時

でのbuild.xmlを作成します。

androidツールは、ダウンロードしたSDKのtools/ディレクトリにあります。

は、他にデバッグリリース

を作成します。

ant debug 

生成されたAPK

の場所:最終リリースの

ant release 

を、あなたもしてデバッグリリースを作成することができます

生成されたapkはbin/の下に配置されます。

MyName-debug.apk 
MyName-release.apk 

が、いくつかの中間のAPKは、特定非整列と符号なしのバージョンでは、生成されます。

最も重要な出力です。

しかし、あなたは、彼らが作成された場所を忘れて、ただ実行することができますほとんどの時間:

ant debug install 
ant release install 

がそれらをインストール取得します。しかし、それは最初のADBと連携していることを確認してください:Ubuntuの15.10でテストadb devices command not working

、Androidの23

関連する問題