日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android-Ant自动编译打包android项目 -- 2 ----签名与渠道包

發(fā)布時間:2024/4/17 Android 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android-Ant自动编译打包android项目 -- 2 ----签名与渠道包 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

上篇介紹了怎么使用ant自動編譯打包現(xiàn)有的android項目,這篇將繼續(xù)介紹如果如何在ant打包應(yīng)用的時候加入簽名信息以及自動打包渠道包。

1. 加入簽名信息:

在項目的根目錄下建一個ant.properties文件,輸入如下內(nèi)容,其中keystore密碼和alias密碼可以不指定(防泄漏),那么在命令執(zhí)行的過程中會要求你輸入。

?

[html]?view plaincopy
  • #keystore的路徑,必須使用正斜杠??
  • key.store=E:/wp_android_sample/me.key??
  • #keystore的密碼??
  • #key.store.password=*****??
  • #alias名??
  • key.alias=me??
  • #alias密碼??
  • #key.alias.password=******???????
  • 在項目根目錄下運行 ant release 命令就會幫你生成一個經(jīng)過簽名和aligned的apk,生成的apk(your_project_name-release.apk)在bin目錄下

    ?

    ?

    2. 自動打包渠道包:

    ?實現(xiàn)批量循環(huán)打包需要一個類似于for循環(huán)的功能,在Ant的核心包里沒有相關(guān)的For循環(huán)的Task,即不支持for循環(huán),但是ant支持第三方擴(kuò)展包,以支持更多的其他功能。

    于是我們要下載相應(yīng)的支持for循環(huán)的擴(kuò)展包。可以使用開源的Ant-contrib包。下載地址:http://ant-contrib.sourceforge.net/??。

    下載后的解壓得到的jar文件放到ant的lib目錄。接下來我們就可以打包渠道包了,具體做法是:

    (1)首先在ant.properties文件中增加屬性?market_channels (渠道列表,以逗號分割),version(應(yīng)用程序版本名)

  • #渠道市場列表??
  • market_channels=91,360,wandoujia,baidu??
  • #版本號??
  • version=1.2.1??
  • ?

    (2)在我們項目的build.xml中加入如下代碼:

    ?

  • <!--?渠道包打包腳本??ant?deploy-->??
  • ??
  • <taskdef?resource="net/sf/antcontrib/antcontrib.properties">??
  • ????<classpath>??
  • ????????<pathelement?location="lib/ant-contrib-1.0b3.jar"/>??
  • ????</classpath>??
  • </taskdef>??
  • ??
  • <target?name="deploy">??
  • ???<foreach?target="modify_manifest"?list="${market_channels}"?param="channel"?delimiter=",">??
  • ???</foreach>??
  • </target>??
  • ??
  • <target?name="modify_manifest">??
  • ? ??<!-- 加上時間戳 -->
  • ? ??<tstampprefix="build.">
  • ? ? ? ? <formatproperty="TimeSign"?pattern="yyyyMMddHHmm"/>
  • ? ??</tstamp>
  • ????<replaceregexp?flags="g"?byline="false">??
  • ????????<!--?匹配的內(nèi)容是?android:value="*****"?android:name="UMENG_CHANNEL"?-->??
  • ????????<regexp?pattern='android:value="(.*)"?android:name="UMENG_CHANNEL"'?/>??
  • ????????<!--?匹配之后將其替換為?android:value="渠道名"?android:name="UMENG_CHANNEL"?-->??
  • ????????<substitution?expression='android:value="${channel}"?android:name="UMENG_CHANNEL"'?/>????
  • ????????<!--?正則表達(dá)式需要匹配的文件為AndroidManifest.xml?-->??
  • ????????<fileset?dir=""?includes="AndroidManifest.xml"?/>??
  • ????</replaceregexp>??
  • ????<property?name="out.release.file"?location="${out.absolute.dir}/${ant.project.name}_${channel}.apk"?/>??
  • ????<!--包?-->??
  • ????<antcall?target="release"?/>??
  • ????<!--輸出渠道包到bin/out目錄下?-->??
  • ????<copy?tofile="${out.absolute.dir}/out/${ant.project.name}v${version}-${channel}.apk"?file="bin/${ant.project.name}-release.apk"/>??
  • </target>??

  • 在項目根目錄下運行?ant clean 無誤后再運行?ant deploy 命令就會幫你各個渠道的簽名包了(為了全程可以自動執(zhí)行,ant.properties文件中的keystore的密碼可以指定,這樣在執(zhí)行過程中就不需要手動輸入密碼了),在bin目錄的out目錄下。

    轉(zhuǎn)載于:https://www.cnblogs.com/ws5861/p/4250947.html

    與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

    總結(jié)

    以上是生活随笔為你收集整理的Android-Ant自动编译打包android项目 -- 2 ----签名与渠道包的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。