ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码

Android Eclipse Ant 批量多渠道打包 总结!(2/3)

来源:网络整理     时间:2016-05-16     关键词:Android,eclipse

本篇文章主要介绍了"Android Eclipse Ant 批量多渠道打包 总结!",主要涉及到Android,eclipse方面的内容,对于Javajrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下: 最近研究Android里用ant打多个渠道的apk包,终于搞出头绪!!走了很多错路,希望大家不要这样子!!下面就是个人的几点总结,希望对大家有帮助: ...

[java] view plain copy android eclipse 64,android eclipse 32,eclipse开发android,eclipse集成android,eclipse搭建android,eclipse配置android,eclipse安装android,eclipse没有android,eclipse运行android,eclipse编写android,eclipse调试android,android版eclipse,eclipsejrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播android,eclipse创建android,eclipse导入androiandroid eclipse 64,android eclipse 32,eclipse开发android,eclipse集成android,eclipse搭建android,eclipse配置android,eclipse安装android,eclipse没有android,eclipse运行android,eclipse编写android,eclipse调试android,android版eclipse,eclipsejrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播android,eclipse创建android,eclipse导入androi

  1. <>"Test" default="release">  
  2.       
  3.     "env" />  
  4.       
  5.     <>"net/sf/antcontrib/antcontrib.properties">  
  6.           
  7.             <>"${env.ANT_HOME}/lib/ant-contrib-1.0b3.jar" />  
  8.           
  9.       
  10.       
  11.     <>"appName" value="${ant.project.name}" />  
  12.       
  13.     <>"sdk-folder" value="${env.ANDROID_SDK_HOME}" />  
  14.       
  15.     <>"sdk-platform-folder" value="${sdk-folder}/platforms/android-8" />  
  16.       
  17.     <>"sdk-tools" value="${sdk-folder}/tools" />  
  18.       
  19.     <>"sdk-platform-tools" value="${sdk-folder}/platform-tools" />  
  20.   
  21.       
  22.     <>"aapt" value="${sdk-platform-tools}/aapt" />  
  23.     <>"aidl" value="${sdk-platform-tools}/aidl" />  
  24.     <>"dx" value="${sdk-platform-tools}/dx.bat" />  
  25.     <>"apkbuilder" value="${sdk-tools}/apkbuilder.bat" />  
  26.     <>"jarsigner" value="${env.JAVA_HOME}/bin/jarsigner" />  
  27.     <>"zipalign" value="${sdk-tools}/zipalign.exe" />  
  28.   
  29.       
  30.     <>"android-jar" value="${sdk-platform-folder}/android.jar" />  
  31.     <>"android-maps-jar" value="${sdk-folder}/add-ons/addon_google_apis_google_inc_8/libs/maps.jar" />  
  32.   
  33.       
  34.     <>"channelname" value="" />  
  35.     <>"channelkey" value="" />  
  36.       
  37.     <>"key" value="UM:aaaaaa,BAI:bbbb" />  
  38.       
  39.       
  40.     <>"framework-aidl" value="${sdk-platform-folder}/framework.aidl" />  
  41.       
  42.     <>"manifest-xml" value="AndroidManifest.xml" />  
  43.       
  44.     <>"resource-dir" value="res" />  
  45.     <>"asset-dir" value="assets" />  
  46.       
  47.     <>"srcdir" value="src" />  
  48.     <>"srcdir-ospath" value="${basedir}/${srcdir}" />  
  49.       
  50.     <>"external-lib" value="libs" />  
  51.     <>"external-lib-ospath" value="${basedir}/${external-lib}" />  
  52.   
  53.       
  54.     <>"version" value="3.0" />  
  55.       
  56.       
  57.         <>"deploy">  
  58.             <>"modify_manifest" list="${key}" param="nameandchannel" delimiter=",">  
  59.               
  60.           
  61.         <>"modify_manifest">  
  62.               
  63.             <>"true" property="channelname" input="${nameandchannel}" regexp="(.*):" select="\1" />  
  64.               
  65.             <>"true" property="channelkey" input="${nameandchannel}" regexp=":(.*)" select="\1" />  
  66.               
  67.             <>"g" byline="false" encoding="UTF-8">  
  68.                 <>'meta-data android:value="(.*)" android:name="app_key"' />  
  69.                 <>'meta-data android:value="${channelkey}" android:name="app_key"' />  
  70.                 <>"" includes="AndroidManifest.xml" />  
  71.               
  72.             <>"zipalign" />  
  73.           
  74.       
  75.       
  76.     <>"init">  
  77.         目录初始化....  
  78.           
  79.         <>"outdir-gen" value="gen" />  
  80.           
  81.         <>"outdir-bin" value="bin-${channelname}" />  
  82.           
  83.         <>"outdir-classes" value="${outdir-bin}" />  
  84.         <>"outdir-classes-ospath" value="${basedir}/${outdir-classes}" />  
  85.   
  86.           
  87.         <>"dex-file" value="classes.dex" />  
  88.         <>"dex-path" value="${outdir-bin}/${dex-file}" />  
  89.         <>"dex-ospath" value="${basedir}/${dex-path}" />  
  90.   
  91.           
  92.         <>"resources-package" value="${outdir-bin}/resources.ap_" />  
  93.         <>"resources-package-ospath" value="${basedir}/${resources-package}" />  
  94.   
  95.           
  96.         <>"out-unsigned-package" value="${outdir-bin}/${appName}-unsigned.apk" />  
  97.         <>"out-unsigned-package-ospath" value="${basedir}/${out-unsigned-package}" />  
  98.   
  99.           
  100.         <>"keystore-file" value="${basedir}/test.keystore" />  
  101.   
  102.           
  103.         <>"out-signed-package" value="${outdir-bin}/${appName}-${channelname}-${version}.apk" />  
  104.         <>"out-signed-package-ospath" value="${basedir}/${out-signed-package}" />  
  105.         <>"${outdir-bin}" />  
  106.         <>"${outdir-bin}" />  
  107.         <>"${outdir-classes}" />  
  108.       
  109.   
  110.       
  111.     <>"gen-R" depends="init">  
  112.         生成R.java文件....  
  113.         <>"${aapt}" fail/span>"true">  
  114.             <>"package" />  
  115.             <>"-f" />  
  116.             <>"-m" />  
  117.             <>"-J" />  
  118.             <>"${outdir-gen}" />  
  119.             <>"-S" />  
  120.             <>"${resource-dir}" />  
  121.             <>"-M" />  
  122.             <>"${manifest-xml}" />  
  123.             <>"-I" />  
  124.             <>"${android-jar}" />  
  125.           
  126.       
  127.   
  128.       
  129.     <>"aidl" depends="gen-R">  
  130.         编译aidl文件....  
  131.         <>"${aidl}" fail/span>"true">  
  132.               
  133.             <>"-p${framework-aidl}" />  
  134.               
  135.             <>"-I${srcdir}" />  
  136.               
  137.             <>"-o${outdir-gen}" />  
  138.               
  139.             <>"${srcdir}">  
  140.                 <>"**/*.aidl" />  
  141.               
  142.           
  143.       
  144.   
  145.       
  146.     <>"compile" depends="aidl">  
  147.         java源文件编译成class文件....  
  148.         <>"utf-8" target="1.5" srcdir="." destdir="${outdir-classes}" bootclasspath="${android-jar}" verbose="false">  
  149.             <>"-encoding GBK " />  
  150.               
  151.                 <>"${external-lib}" includes="*.jar" />  
  152.               
  153.           
  154.       
  155.   
  156.   
  157.       
  158.     <>"dex" depends="compile">  
  159.         将.class文件转化成.dex文件....  
  160.         <>"${dx}" fail/span>"true">  
  161.             <>"--dex" />  
  162.               
  163.             <>"--output=${dex-ospath}" />  
  164.               
  165.             <>"${outdir-classes-ospath}" />  
  166.             <>"${external-lib-ospath}" />  
  167.           
  168.       
  169.   
  170.       
  171.     <>"package-res-and-assets">  
  172.         将资源文件放进输出目录....  
  173.         <>"${aapt}" fail/span>"true">  
  174.             <>"package" />  
  175.             <>"-f" />  
  176.             <>"-M" />  
  177.             <>"${manifest-xml}" />  
  178.             <>"-S" />  
  179.             <>"${resource-dir}" />  
  180.             <>"-A" />  
  181.             <>"${asset-dir}" />  
  182.             <>"-I" />  
  183.             <>"${android-jar}" />  
  184.             <>"-F" />  
  185.             <>"${resources-package}" />  
  186.           
  187.       
  188.   
  189.       
  190.     <>"package" depends="dex, package-res-and-assets">  
  191.         打包成未签证的apk....  
  192.         <>"${apkbuilder}" fail/span>"true">  
  193.             <>"${out-unsigned-package-ospath}" />  
  194.             <>"-u" />  
  195.             <>"-z" />  
  196.             <>"${resources-package-ospath}" />  
  197.             <>"-f" />  
  198.             <>"${dex-ospath}" />  
  199.             <>"-rf" />  
  200.             <>"${srcdir-ospath}" />  
  201.           
  202.       
  203.   
  204.       
  205.     <>"jarsigner" depends="package">  
  206.         Packaging signed apk for release...  
  207.         <>"${jarsigner}" fail/span>"true">  
  208.             <>"-keystore" />  
  209.             <>"${keystore-file}" />  
  210.             <>"-storepass" />  
  211.             <>"123456" />  
  212.             <>"-keypass" />  
  213.             <>"123456" />  
  214.             <>"-signedjar" />  
  215.             <>"${out-signed-package-ospath}" />  
  216.             <>"${out-unsigned-package-ospath}" />  
  217.               
  218.             <>"test.keystore" />  
  219.           
  220.       
  221.   
  222.       
  223.     <>"release" depends="jarsigner">  
  224.           
  225.         <>"${out-unsigned-package-ospath}" />  
  226.         APK is released. path:${out-signed-package-ospath}  
  227.       
  228.       
  229.       
  230.     <>"zipalign" depends="release">  
  231.         <>"${zipalign}" fail/span>"true">  
  232.             <>"-v" />  
  233.             <>"4" />  
  234.             <>"${out-signed-package-ospath}" />  
  235.             <>"${out-signed-package-ospath}-zipaligned.apk" />  
  236.           
  237.       
  238.   


具体操作:

首先,定义渠道名字和号码的固定格式为 渠道名字:渠道号 这样可以利用:做一个正则匹配分别获取渠道名字和渠道号,好处是最后能根据渠道名字来修改打出来的jar包名字 然后利用正则替换来替换渠道号为上面获取的渠道号,再执行一次打包动作。

根据以上的build.xml 读者只需要进行以下修改即可:

1.第一行的    name换成你自己的工程名字

相关图片

相关文章