Apkタイミング自動パッケージシステムの第2編を創立します——自動的にファイルをアップロードします


「apkタイミング自動パッケージングシステムの構築第1編-Antマルチチャネルパッケージングとパッケージングディレクトリとパッケージング日付の指定」という記事では、マルチチャネルパッケージの流れについて説明します.パッケージされたapkをftpにアップロードする必要がある場合が多いので、custom_を修正することができます.rules.xmlというファイルでこのニーズを実現できます.
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>

 
        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">
           
           
 
               
           

       

 
   

 
</project>

の後にを追加すると、パッケージが完了したらアップロードタスクが実行されます.
変更後ant-deployコマンドを実行するとftpに自動的にパッケージ化してアップロードできます.
4、Demoコード
antdemo.rar
115ネットディスクギフトコード:5 lbdiif 2 eh 98
http://115.com/lb/5lbdiif2eh98
このコードにはマルチチャネルパッケージと自動アップロードftpの構成が含まれています.このコードのftpは本機でテストされています.走るときはftpアドレスと読み書き権限のあるユーザー名とパスワードを構成する必要があります.