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サイトからアクセス可能なネットワーク共有にコピーさせます。
プロジェクトの作成時に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プロジェクトをビルドする理由 」の記事も読むことができます。