Apkタイミング自動パッケージシステムの第2編を創立します——自動的にファイルをアップロードします
4592 ワード
「apkタイミング自動パッケージングシステムの構築第1編-Antマルチチャネルパッケージングとパッケージングディレクトリとパッケージング日付の指定」という記事では、マルチチャネルパッケージの流れについて説明します.パッケージされたapkをftpにアップロードする必要がある場合が多いので、custom_を修正することができます.rules.xmlというファイルでこのニーズを実現できます.
1、common-net-3.3.jarをダウンロードし、antインストールディレクトリの下のlibフォルダに配置します.
2、ant.propertiesファイルの修正
#upload apk
#ftpのホストアドレス、私は本機でftpサーバーを構成して、テストに使用します
ftp.hostname=127.0.0.1
#ftpログインアカウント
ftp.userid=admin
#ログインパスワード
ftp.password=6lg4LgCT
#apkファイルをftpサーバのルートディレクトリの下に保存し、他のディレクトリを自分で選択できます.
upload apkの後ろには、custom_に追加された構成プロパティがあります.rules.xmlファイルで参照されます.もちろん、このftp.useridには読み書き権限が必要です.そうしないとアップロードできません.
3、custom_を修正するrules.xmlファイル
name="upload"
description="Upload apk to server...">
action="put"
binary="yes"
passive="true"
password="${ftp.password}"
remotedir="${ftp.remotedir}"
separator=""
server="${ftp.hostname}"
userid="${ftp.userid}"
verbose="yes">
の後にを追加すると、パッケージが完了したらアップロードタスクが実行されます.
変更後ant-deployコマンドを実行するとftpに自動的にパッケージ化してアップロードできます.
4、Demoコード
antdemo.rar
115ネットディスクギフトコード:5 lbdiif 2 eh 98
http://115.com/lb/5lbdiif2eh98
このコードにはマルチチャネルパッケージと自動アップロードftpの構成が含まれています.このコードのftpは本機でテストされています.走るときはftpアドレスと読み書き権限のあるユーザー名とパスワードを構成する必要があります.
1、common-net-3.3.jarをダウンロードし、antインストールディレクトリの下のlibフォルダに配置します.
2、ant.propertiesファイルの修正
key.store=./test.keystore
key.alias=test.keystore
key.store.password=test12345
key.alias.password=test12345
#generate test.keystore
#keytool -genkey -alias test.keystore -keyalg RSA -validity 20000 -keystore test.keystore
apk.dir=./apk
app.name=AntDemo
#channel numbers
market_channels=myapp-12345,BAI-3s322d
#upload apk
#ftpのホストアドレス、私は本機でftpサーバーを構成して、テストに使用します
ftp.hostname=127.0.0.1
#ftpログインアカウント
ftp.userid=admin
#ログインパスワード
ftp.password=6lg4LgCT
#apkファイルをftpサーバのルートディレクトリの下に保存し、他のディレクトリを自分で選択できます.
ftp.remotedir=/
upload apkの後ろには、custom_に追加された構成プロパティがあります.rules.xmlファイルで参照されます.もちろん、このftp.useridには読み書き権限が必要です.そうしないとアップロードできません.
3、custom_を修正するrules.xmlファイル
<?xml version="1.0" encoding="UTF-8"?>
<project name="custom_rules" >
<taskdef resource="net/sf/antcontrib/antcontrib.properties" >
<classpath>
<pathelement location="${ant.ANT_HOME}/lib/ant-contrib-1.0b3.jar" />
</classpath>
</taskdef>
<tstamp>
<format
pattern="yyyyMMddhhmm"
property="pktime"
unit="hour" />
</tstamp>
<mkdir dir="${apk.dir}" >
</mkdir>
<target name="deploy" >
<foreach
delimiter=","
list="${market_channels}"
param="channel"
target="modify_manifest" >
</foreach>
</target>
<target name="modify_manifest" >
<replaceregexp
byline="false"
flags="g" >
<regexp pattern="android:value="(.*)" android:name="app_key"" />
<substitution expression="android:value="${channel}" android:name="app_key"" />
<fileset
dir=""
includes="AndroidManifest.xml" />
</replaceregexp>
<property
name="out.final.file"
location="${apk.dir}/${app.name}_${channel}_${pktime}.apk" />
<antcall target="clean" />
<antcall target="release" />
<antcall target="upload" />
</target>
description="Upload apk to server...">
binary="yes"
passive="true"
password="${ftp.password}"
remotedir="${ftp.remotedir}"
separator=""
server="${ftp.hostname}"
userid="${ftp.userid}"
verbose="yes">
</project>
変更後ant-deployコマンドを実行するとftpに自動的にパッケージ化してアップロードできます.
4、Demoコード
antdemo.rar
115ネットディスクギフトコード:5 lbdiif 2 eh 98
http://115.com/lb/5lbdiif2eh98
このコードにはマルチチャネルパッケージと自動アップロードftpの構成が含まれています.このコードのftpは本機でテストされています.走るときはftpアドレスと読み書き権限のあるユーザー名とパスワードを構成する必要があります.