web-dev-qa-db-ja.com

コマンドラインからAPKをコンパイルする方法は?

Androidアプリをオンデマンドで作成することに興味があります。クライアントの要求に応じて、私のWebサイトは、Delphiで作成したWindowsアプリケーションに直接JSONファイルを送信します。これにより、 Android app source folder内のファイル、次にAndroidコンパイラにAPKファイルを生成してクライアントに送信するように指示するコマンドラインを実行します。それは私の存在なしで。

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

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

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

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

ただし、最初にbuild.xmlファイルを作成する必要があります。

Android update project -p .

これにより、build.xmlファイルが生成されます。おそらく、プロジェクトのビルドステップとターゲットをカスタマイズする必要があります。あなたの場合の良いアイデアは、特定のビルドのためにbuild.propertiesファイルをWebサイトで生成することです...次に、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

別のきちんとしたアイデア:< copy ... />セクションに< target name="release" >行を配置して、Antに結果のAPKファイルをWebサイトからアクセス可能なネットワーク共有にコピーさせます。

31
Andrew Cranston

プロジェクトの作成時にbuild.xmlを作成します

新しいプロジェクトを開始する場合:

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

antが使用するbuild.xmlファイルが生成されます。

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

デバッグリリースを作成します

さらに:

ant release

最終リリースでは、次のコマンドでデバッグリリースを作成することもできます。

ant debug

生成されたapkの場所

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

最も重要な出力は次のとおりです。

MyName-debug.apk
MyName-release.apk

ただし、中間のapkもいくつか生成されます。特に、アラインされておらず、署名されていないバージョンです。

しかし、ほとんどの場合、それらが作成された場所を忘れて実行することができます。

ant debug install
ant release install

それらをインストールするために。ただし、最初にadbで機能していることを確認してください。 adb devicesコマンドが機能していません

Ubuntu 15.10でテスト済み、Android 23。

Androidは現在、ANTビルドシステムを直接使用していません。 GroovyベースのGradleを使用しています。ビルドシステムの詳細については こちら をご覧ください。

このコマンドを使用して実行できる利用可能なタスクのリストを表示できます

gradlew tasks

デバッグビルドを開始するには、assembleDebugタスクを呼び出します。

gradlew assembleDebug

このコマンドでadbツールを使用してアプリをインストールできます

adb install path/to/your_app.apk

コマンドラインでのビルドの詳細については、 this の包括的な記事に従ってください。

また、「 AntやMavenではなくGradleを使用してJavaプロジェクトをビルドする理由 」の記事も読むことができます。

1
touhid udoy