本人博客原文:http://hubingforever.blog.163.com/blog/static/1710405792013102954345842/

以下是对一个已经打包的Android应用程序的apk文件根据渠道号再进行批量打包的程序示例。
config.bat文件
set outDir=out
set rawDatadir=temp
set apk=SignatureChecker.apk
set channelName=A;B
set channelNo=1;2;3;4
set projectName=r
set versionCode=100
set stamp=%Date:~0,4%%Date:~5,2%%Date:~8,2%%Time:~0,2%%Time:~3,2%%Time:~6,2%
echo %stamp%_

build.bat文件
@echo off
call config.bat
Setlocal enabledelayedexpansion
set path=%path%;%cd%\lib
if exist %rawDatadir% (
call deleteDir %rawDatadir%
)
if not exist %outDir% (
md %outDir%
)
call apktool d -s %apk% %rawDatadir%
Setlocal enabledelayedexpansion
set /a cnt=0
for %%i in (%channelName%) do (
set name=%%i
set apkName=%projectName%_%versionCode%_!name!.apk
call getSubStr "%channelNo%" !cnt!
set no=!getSubStr~result!
set /a cnt+=1
java AndroidManifestModifier %rawDatadir%\AndroidManifest.xml %rawDatadir%\AndroidManifest.xml lenovo:channel !no!
call apktool b %rawDatadir% !apkName!
jarsigner -keystore robin.keystore -storepass GL2009 -keypass gl2009 !apkName! robin
move !apkName! %outDir%
)
endlocal
关于apktool请参考《Android反编译工具简介》,另外jarsigner就是JDK下载的一个工具。
AndroidManifestModifier主要用于在对Android应用程序进行打包发布是修改渠道号。

<wbr style="line-height:28px; font-family:'Hiragino Sans GB W3','Hiragino Sans GB',Arial,Helvetica,simsun,u5b8bu4f53; font-size:16px; background-color:rgb(245,245,245)"><div style="line-height:28px; font-family:'Hiragino Sans GB W3','Hiragino Sans GB',Arial,Helvetica,simsun,u5b8bu4f53; font-size:16px; background-color:rgb(245,245,245)"> AndroidManifestModifier.java文件</div> <div style="line-height:28px; font-family:'Hiragino Sans GB W3','Hiragino Sans GB',Arial,Helvetica,simsun,u5b8bu4f53; font-size:16px; background-color:rgb(245,245,245)"> <div><br></div> <div><br></div> <div> <pre class="prettyprint" style="white-space:pre-wrap; padding:2px; border:1px solid rgb(136,136,136)"><p style="margin-top:0px; margin-bottom:10px; padding-top:0px; padding-bottom:0px"></p><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> java</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">io</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">File</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> java</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">io</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">FileOutputStream</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> java</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">io</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">IOException</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> java</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">io</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">OutputStreamWriter</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> java</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">io</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">Writer</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> </div><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> javax</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">xml</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">parsers</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">DocumentBuilder</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> javax</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">xml</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">parsers</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">DocumentBuilderFactory</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> javax</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">xml</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">parsers</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">ParserConfigurationException</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> javax</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">xml</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">transform</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">OutputKeys</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> javax</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">xml</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">transform</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">Result</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> javax</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">xml</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">transform</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">Source</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> javax</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">xml</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">transform</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">Transformer</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> javax</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">xml</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">transform</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">TransformerConfigurationException</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> javax</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">xml</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">transform</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">TransformerException</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> javax</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">xml</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">transform</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">TransformerFactory</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> javax</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">xml</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">transform</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">dom</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">DOMSource</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> javax</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">xml</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">transform</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">stream</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">StreamResult</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> </div><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> org</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">w3c</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">dom</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">Document</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> org</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">w3c</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">dom</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">NamedNodeMap</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> org</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">w3c</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">dom</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">NodeList</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="kwd" style="color:rgb(0,0,136)">import</span><span class="pln"> org</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">xml</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">sax</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">SAXException</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> </div><div> <span class="kwd" style="color:rgb(0,0,136)">public</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">class</span><span class="pln"> </span><span class="typ" style="color:rgb(102,0,102)">AndroidManifestModifier</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">{</span> </div><div> </div><div> <span class="pln"> </span><span class="com" style="color:rgb(136,0,0)">/**</span> </div><div><span class="com" style="color:rgb(136,0,0)"> * @param args</span></div><div><span class="com" style="color:rgb(136,0,0)"> */</span></div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">public</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">static</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">void</span><span class="pln"> main</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="typ" style="color:rgb(102,0,102)">String</span><span class="pun" style="color:rgb(102,102,0)">[]</span><span class="pln"> args</span><span class="pun" style="color:rgb(102,102,0)">)</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">{</span> </div><div> <span class="pln"> </span><span class="com" style="color:rgb(136,0,0)">// TODO Auto-generated method stub</span> </div><div><span class="com" style="color:rgb(136,0,0)"> String srcFilePath="AndroidManifest.xml";</span></div><div><span class="com" style="color:rgb(136,0,0)"> String outFilePath="AndroidManifest.xml";</span></div><div><span class="com" style="color:rgb(136,0,0)"> String metaDataName="youmi:channel";</span></div><div><span class="com" style="color:rgb(136,0,0)"> String metaDataNewValue="newValue"+System.currentTimeMillis()%1000;</span></div><div><span class="com" style="color:rgb(136,0,0)"> if(args!=null&amp;&amp;args.length&gt;=4){</span></div><div><span class="com" style="color:rgb(136,0,0)"> srcFilePath=args[0];</span></div><div><span class="com" style="color:rgb(136,0,0)"> outFilePath=args[1];</span></div><div><span class="com" style="color:rgb(136,0,0)"> metaDataName=args[2];</span></div><div><span class="com" style="color:rgb(136,0,0)"> metaDataNewValue=args[3];</span></div><div><span class="com" style="color:rgb(136,0,0)"> }</span></div><div><span class="com" style="color:rgb(136,0,0)"> change(srcFilePath,outFilePath,metaDataName,metaDataNewValue);</span></div><div> </div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">}</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">public</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">static</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">void</span><span class="pln"> change</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="typ" style="color:rgb(102,0,102)">String</span><span class="pln"> srcfilePath</span><span class="pun" style="color:rgb(102,102,0)">,</span><span class="typ" style="color:rgb(102,0,102)">String</span><span class="pln"> outFilePath</span><span class="pun" style="color:rgb(102,102,0)">,</span><span class="typ" style="color:rgb(102,0,102)">String</span><span class="pln"> metaDataName</span><span class="pun" style="color:rgb(102,102,0)">,</span><span class="typ" style="color:rgb(102,0,102)">String</span><span class="pln"> metaDataNewValue</span><span class="pun" style="color:rgb(102,102,0)">)</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">{</span> </div><div> <span class="pln"> </span><span class="typ" style="color:rgb(102,0,102)">File</span><span class="pln"> f </span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">new</span><span class="pln"> </span><span class="typ" style="color:rgb(102,0,102)">File</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="pln">srcfilePath</span><span class="pun" style="color:rgb(102,102,0)">);</span> </div><div> <span class="pln"> </span><span class="typ" style="color:rgb(102,0,102)">DocumentBuilderFactory</span><span class="pln"> factory </span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="pln"> </span><span class="typ" style="color:rgb(102,0,102)">DocumentBuilderFactory</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">newInstance</span><span class="pun" style="color:rgb(102,102,0)">();</span> </div><div> <span class="pln"> </span><span class="typ" style="color:rgb(102,0,102)">DocumentBuilder</span><span class="pln"> builder </span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">null</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">final</span><span class="pln"> </span><span class="typ" style="color:rgb(102,0,102)">String</span><span class="pln"> android_value</span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="str" style="color:rgb(0,136,0)">"android:value"</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">try</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">{</span> </div><div> <span class="pln"> builder </span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="pln"> factory</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">newDocumentBuilder</span><span class="pun" style="color:rgb(102,102,0)">();</span> </div><div> <span class="pln"> </span><span class="typ" style="color:rgb(102,0,102)">Document</span><span class="pln"> doc </span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="pln"> builder</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">parse</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="pln">f</span><span class="pun" style="color:rgb(102,102,0)">);</span> </div><div> <span class="pln"> </span><span class="typ" style="color:rgb(102,0,102)">NodeList</span><span class="pln"> nl </span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="pln"> doc</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">getElementsByTagName</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="str" style="color:rgb(0,136,0)">"meta-data"</span><span class="pun" style="color:rgb(102,102,0)">);</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">int</span><span class="pln"> len </span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="pln"> nl</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">getLength</span><span class="pun" style="color:rgb(102,102,0)">();</span> </div><div> <span class="pln"> org</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">w3c</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">dom</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">Node</span><span class="pln"> channelNode </span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">null</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">for</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="kwd" style="color:rgb(0,0,136)">int</span><span class="pln"> i </span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="pln"> </span><span class="lit" style="color:rgb(0,102,102)">0</span><span class="pun" style="color:rgb(102,102,0)">;</span><span class="pln"> i </span><span class="pun" style="color:rgb(102,102,0)">&lt;</span><span class="pln"> len</span><span class="pun" style="color:rgb(102,102,0)">;</span><span class="pln"> i</span><span class="pun" style="color:rgb(102,102,0)">++)</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">{</span> </div><div> <span class="pln"> org</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">w3c</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">dom</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">Node</span><span class="pln"> n </span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="pln"> nl</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">item</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="pln">i</span><span class="pun" style="color:rgb(102,102,0)">);</span> </div><div> <span class="pln"> </span><span class="typ" style="color:rgb(102,0,102)">System</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="kwd" style="color:rgb(0,0,136)">out</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">println</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="pln">n</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">getNodeName</span><span class="pun" style="color:rgb(102,102,0)">());</span> </div><div> <span class="pln"> </span><span class="typ" style="color:rgb(102,0,102)">NamedNodeMap</span><span class="pln"> nm </span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="pln"> n</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">getAttributes</span><span class="pun" style="color:rgb(102,102,0)">();</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">boolean</span><span class="pln"> c</span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="kwd" style="color:rgb(0,0,136)">false</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">for</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="kwd" style="color:rgb(0,0,136)">int</span><span class="pln"> j </span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="pln"> </span><span class="lit" style="color:rgb(0,102,102)">0</span><span class="pun" style="color:rgb(102,102,0)">;</span><span class="pln"> j </span><span class="pun" style="color:rgb(102,102,0)">&lt;</span><span class="pln"> nm</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">getLength</span><span class="pun" style="color:rgb(102,102,0)">();</span><span class="pln"> j</span><span class="pun" style="color:rgb(102,102,0)">++)</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">{</span> </div><div> <span class="pln"> org</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">w3c</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">dom</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">Node</span><span class="pln"> n2 </span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="pln"> nm</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">item</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="pln">j</span><span class="pun" style="color:rgb(102,102,0)">);</span> </div><div> <span class="pln"> </span><span class="typ" style="color:rgb(102,0,102)">System</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="kwd" style="color:rgb(0,0,136)">out</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">println</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="pln">n2</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">getNodeName</span><span class="pun" style="color:rgb(102,102,0)">()</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">+</span><span class="pln"> </span><span class="str" style="color:rgb(0,136,0)">"|"</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">+</span><span class="pln"> n2</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">getNodeValue</span><span class="pun" style="color:rgb(102,102,0)">());</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">if</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="pln">metaDataName</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">equals</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="pln">n2</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">getNodeValue</span><span class="pun" style="color:rgb(102,102,0)">()))</span> </div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">{</span> </div><div> <span class="pln"> c</span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="kwd" style="color:rgb(0,0,136)">true</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">break</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">}</span> </div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">}</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">if</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="pln">c</span><span class="pun" style="color:rgb(102,102,0)">){</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">for</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="kwd" style="color:rgb(0,0,136)">int</span><span class="pln"> j </span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="pln"> </span><span class="lit" style="color:rgb(0,102,102)">0</span><span class="pun" style="color:rgb(102,102,0)">;</span><span class="pln"> j </span><span class="pun" style="color:rgb(102,102,0)">&lt;</span><span class="pln"> nm</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">getLength</span><span class="pun" style="color:rgb(102,102,0)">();</span><span class="pln"> j</span><span class="pun" style="color:rgb(102,102,0)">++)</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">{</span> </div><div> <span class="pln"> org</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">w3c</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">dom</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="typ" style="color:rgb(102,0,102)">Node</span><span class="pln"> n2 </span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="pln"> nm</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">item</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="pln">j</span><span class="pun" style="color:rgb(102,102,0)">);</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">if</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="pln">android_value</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">equals</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="pln">n2</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">getNodeName</span><span class="pun" style="color:rgb(102,102,0)">()))</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">{</span> </div><div> <span class="pln"> channelNode</span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="pln">n2</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">break</span><span class="pun" style="color:rgb(102,102,0)">;</span> </div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">}</span> </div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">}</span> </div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">}</span> </div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">}</span> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">if</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="pln">channelNode </span><span class="pun" style="color:rgb(102,102,0)">!=</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">null</span><span class="pun" style="color:rgb(102,102,0)">)</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">{</span> </div><div> <span class="pln"> channelNode</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">setNodeValue</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="pln">metaDataNewValue</span><span class="pun" style="color:rgb(102,102,0)">);</span> </div><div> <span class="pln"> writeXMLFile</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="pln">doc</span><span class="pun" style="color:rgb(102,102,0)">,</span><span class="pln"> outFilePath</span><span class="pun" style="color:rgb(102,102,0)">);</span> </div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">}</span> </div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">}</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">catch</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="typ" style="color:rgb(102,0,102)">ParserConfigurationException</span><span class="pln"> e</span><span class="pun" style="color:rgb(102,102,0)">)</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">{</span> </div><div> <span class="pln"> </span><span class="com" style="color:rgb(136,0,0)">// TODO Auto-generated catch block</span> </div><div><span class="com" style="color:rgb(136,0,0)"> e.printStackTrace();</span></div><div><span class="com" style="color:rgb(136,0,0)"> } catch (SAXException e) {</span></div><div><span class="com" style="color:rgb(136,0,0)"> // TODO Auto-generated catch block</span></div><div><span class="com" style="color:rgb(136,0,0)"> e.printStackTrace();</span></div><div><span class="com" style="color:rgb(136,0,0)"> } catch (IOException e) {</span></div><div><span class="com" style="color:rgb(136,0,0)"> // TODO Auto-generated catch block</span></div><div><span class="com" style="color:rgb(136,0,0)"> e.printStackTrace();</span></div><div><span class="com" style="color:rgb(136,0,0)"> }</span></div><div> </div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">}</span> </div><div> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">private</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">static</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">void</span><span class="pln"> writeXMLFile</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="typ" style="color:rgb(102,0,102)">Document</span><span class="pln"> doc</span><span class="pun" style="color:rgb(102,102,0)">,</span><span class="pln"> </span><span class="typ" style="color:rgb(102,0,102)">String</span><span class="pln"> outfile</span><span class="pun" style="color:rgb(102,102,0)">)</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">{</span> </div><div> </div><div> <span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">try</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">{</span> </div><div> <span class="pln"> </span><span class="typ" style="color:rgb(102,0,102)">FileOutputStream</span><span class="pln"> fos </span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">new</span><span class="pln"> </span><span class="typ" style="color:rgb(102,0,102)">FileOutputStream</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="pln">outfile</span><span class="pun" style="color:rgb(102,102,0)">);</span> </div><div> <span class="pln"> </span><span class="typ" style="color:rgb(102,0,102)">OutputStreamWriter</span><span class="pln"> outwriter </span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">new</span><span class="pln"> </span><span class="typ" style="color:rgb(102,0,102)">OutputStreamWriter</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="pln">fos</span><span class="pun" style="color:rgb(102,102,0)">);</span> </div><div> <span class="pln"> writeXmlFile</span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="pln">doc</span><span class="pun" style="color:rgb(102,102,0)">,</span><span class="pln"> outwriter</span><span class="pun" style="color:rgb(102,102,0)">,</span><span class="pln"> </span><span class="str" style="color:rgb(0,136,0)">"utf-8"</span><span class="pun" style="color:rgb(102,102,0)">);</span> </div><div> <span class="pln"> outwriter</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">close</span><span class="pun" style="color:rgb(102,102,0)">();</span> </div><div> <span class="pln"> fos</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">close</span><span class="pun" style="color:rgb(102,102,0)">();</span> </div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">}</span><span class="pln"> </span><span class="kwd" style="color:rgb(0,0,136)">catch</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">(</span><span class="typ" style="color:rgb(102,0,102)">Exception</span><span class="pln"> e</span><span class="pun" style="color:rgb(102,102,0)">)</span><span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">{</span> </div><div> <span class="pln"> e</span><span class="pun" style="color:rgb(102,102,0)">.</span><span class="pln">printStackTrace</span><span class="pun" style="color:rgb(102,102,0)">();</span> </div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">}</span> </div><div> <span class="pln"> </span><span class="pun" style="color:rgb(102,102,0)">}</span> </div><div> </div><div> <span class="pln"> </span><span class="com" style="color:rgb(136,0,0)">// 写入xml文件</span> </div><div><span class="com" style="color:rgb(136,0,0)"> public static void writeXmlFile(Document doc, Writer w, String encoding) {</span></div><div><span class="com" style="color:rgb(136,0,0)"> try {</span></div><div><span class="com" style="color:rgb(136,0,0)"> Source source = new DOMSource(doc);</span></div><div><span class="com" style="color:rgb(136,0,0)"> Result result = new StreamResult(w);</span></div><div><span class="com" style="color:rgb(136,0,0)"> Transformer xformer = TransformerFactory.newInstance().newTransformer();</span></div><div><span class="com" style="color:rgb(136,0,0)"> xformer.setOutputProperty(OutputKeys.ENCODING, encoding);</span></div><div><span class="com" style="color:rgb(136,0,0)"> xformer.transform(source, result);</span></div><div><span class="com" style="color:rgb(136,0,0)"> } catch (TransformerConfigurationException e) {</span></div><div><span class="com" style="color:rgb(136,0,0)"> e.printStackTrace();</span></div><div><span class="com" style="color:rgb(136,0,0)"> } catch (TransformerException e) {</span></div><div><span class="com" style="color:rgb(136,0,0)"> e.printStackTrace();</span></div><div><span class="com" style="color:rgb(136,0,0)"> }</span></div><div><span class="com" style="color:rgb(136,0,0)"> }</span></div><div><span class="com" style="color:rgb(136,0,0)">}</span></div><p style="margin-top:0px; margin-bottom:10px; padding-top:0px; padding-bottom:0px"></p></pre> </div> </div> <div style="line-height:28px; font-family:'Hiragino Sans GB W3','Hiragino Sans GB',Arial,Helvetica,simsun,u5b8bu4f53; font-size:16px; background-color:rgb(245,245,245)"> <div><strong>getSubStr.bat文件</strong></div> <div>参考《<a target="_blank" title="阅读全文" href="http://hubingforever.blog.163.com/blog/static/171040579201132232153255/" style="color:rgb(245,149,19); text-decoration:none; font-family:'Hiragino Sans GB W3','Hiragino Sans GB','Microsoft YaHei',微软雅黑,Arial,Helvetica,simsun,宋体; white-space:nowrap">getSubStr</a><span style="white-space:nowrap">》</span> </div> <div><strong>deleteDir.bat文件</strong></div> <div>参考《<a target="_blank" title="阅读全文" href="http://hubingforever.blog.163.com/blog/static/171040579201111544234840/" style="color:rgb(245,149,19); text-decoration:none; font-family:'Hiragino Sans GB W3','Hiragino Sans GB','Microsoft YaHei',微软雅黑,Arial,Helvetica,simsun,宋体; white-space:nowrap">deleteDir</a>》</div> </div> <div style="line-height:28px; font-family:'Hiragino Sans GB W3','Hiragino Sans GB',Arial,Helvetica,simsun,u5b8bu4f53; font-size:16px; background-color:rgb(245,245,245)"> <strong>apktool.bat文件</strong> </div> <div style="line-height:28px; font-family:'Hiragino Sans GB W3','Hiragino Sans GB',Arial,Helvetica,simsun,u5b8bu4f53; font-size:16px; background-color:rgb(245,245,245)"> 请参考《<a target="_blank" title="阅读全文" href="http://hubingforever.blog.163.com/blog/static/171040579201272795236469/" style="color:rgb(245,149,19); text-decoration:none; font-family:'Hiragino Sans GB W3','Hiragino Sans GB','Microsoft YaHei',微软雅黑,Arial,Helvetica,simsun,宋体; white-space:nowrap">Android反编译工具简介</a>》</div> <div style="line-height:28px; font-family:'Hiragino Sans GB W3','Hiragino Sans GB',Arial,Helvetica,simsun,u5b8bu4f53; font-size:16px; background-color:rgb(245,245,245)"> robin.keystore文件的制作</div> <div style="line-height:28px; font-family:'Hiragino Sans GB W3','Hiragino Sans GB',Arial,Helvetica,simsun,u5b8bu4f53; font-size:16px; background-color:rgb(245,245,245)"> 请参考《<a target="_blank" title="阅读全文" href="http://hubingforever.blog.163.com/blog/static/17104057920118263265457/" style="color:rgb(245,149,19); text-decoration:none; font-family:'Hiragino Sans GB W3','Hiragino Sans GB','Microsoft YaHei',微软雅黑,Arial,Helvetica,simsun,宋体; white-space:nowrap">Android应用程序签名简介</a> </div> <div style="line-height:28px; font-family:'Hiragino Sans GB W3','Hiragino Sans GB',Arial,Helvetica,simsun,u5b8bu4f53; font-size:16px; background-color:rgb(245,245,245)"> 》</div> <div style="line-height:28px; font-family:'Hiragino Sans GB W3','Hiragino Sans GB',Arial,Helvetica,simsun,u5b8bu4f53; font-size:16px; background-color:rgb(245,245,245)"> android应用程序的AndroidManifest.xml文件</div> <div style="line-height:28px; font-family:'Hiragino Sans GB W3','Hiragino Sans GB',Arial,Helvetica,simsun,u5b8bu4f53; font-size:16px; background-color:rgb(245,245,245)"> <pre class="prettyprint" style="white-space:pre-wrap; padding:2px; border:1px solid rgb(136,136,136)"><p style="margin-top:0px; margin-bottom:10px; padding-top:0px; padding-bottom:0px"></p><div> <span class="pun" style="color:rgb(102,102,0)">&lt;?</span><span class="pln">xml version</span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="str" style="color:rgb(0,136,0)">"1.0"</span><span class="pln"> encoding</span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="str" style="color:rgb(0,136,0)">"utf-8"</span><span class="pun" style="color:rgb(102,102,0)">?&gt;</span> </div><div> <span class="tag" style="color:rgb(0,0,136)">&lt;manifest</span><span class="pln"> </span><span class="atn" style="color:rgb(102,0,102)">xmlns:android</span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="atv" style="color:rgb(0,136,0)">"http://schemas.android.com/apk/res/android"</span> </div><div> <span class="pln"> </span><span class="atn" style="color:rgb(102,0,102)">package</span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="atv" style="color:rgb(0,136,0)">"com.lenovo.robin"</span> </div><div> <span class="pln"> </span><span class="atn" style="color:rgb(102,0,102)">android:versionCode</span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="atv" style="color:rgb(0,136,0)">"1"</span> </div><div> <span class="pln"> </span><span class="atn" style="color:rgb(102,0,102)">android:versionName</span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="atv" style="color:rgb(0,136,0)">"1.0"</span><span class="pln"> </span><span class="tag" style="color:rgb(0,0,136)">&gt;</span> </div><div> </div><div> <span class="pln"> </span><span class="tag" style="color:rgb(0,0,136)">&lt;uses-sdk</span><span class="pln"> </span><span class="atn" style="color:rgb(102,0,102)">android:minSdkVersion</span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="atv" style="color:rgb(0,136,0)">"8"</span><span class="pln"> </span><span class="tag" style="color:rgb(0,0,136)">/&gt;</span> </div><div> </div><div> <span class="pln"> </span><span class="tag" style="color:rgb(0,0,136)">&lt;application</span> </div><div> <span class="pln"> </span><span class="atn" style="color:rgb(102,0,102)">android:icon</span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="atv" style="color:rgb(0,136,0)">"@drawable/ic_launcher"</span> </div><div> <span class="pln"> </span><span class="atn" style="color:rgb(102,0,102)">android:label</span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="atv" style="color:rgb(0,136,0)">"@string/app_name"</span><span class="pln"> </span><span class="tag" style="color:rgb(0,0,136)">&gt;</span> </div><div> <span class="pln"> </span><span class="tag" style="color:rgb(0,0,136)">&lt;meta-data</span> </div><div> <span class="pln"> </span><span class="atn" style="color:rgb(102,0,102)">android:name</span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="atv" style="color:rgb(0,136,0)">"youmi:channel"</span> </div><div> <span class="pln"> </span><span class="atn" style="color:rgb(102,0,102)">android:value</span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="atv" style="color:rgb(0,136,0)">"88888"</span><span class="pln"> </span><span class="tag" style="color:rgb(0,0,136)">/&gt;</span> </div><div> <span class="pln"> </span><span class="tag" style="color:rgb(0,0,136)">&lt;activity</span> </div><div> <span class="pln"> </span><span class="atn" style="color:rgb(102,0,102)">android:name</span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="atv" style="color:rgb(0,136,0)">".SignatureCheckerActivity"</span> </div><div> <span class="pln"> </span><span class="atn" style="color:rgb(102,0,102)">android:label</span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="atv" style="color:rgb(0,136,0)">"@string/app_name"</span><span class="pln"> </span><span class="tag" style="color:rgb(0,0,136)">&gt;</span> </div><div> <span class="pln"> </span><span class="tag" style="color:rgb(0,0,136)">&lt;intent-filter&gt;</span> </div><div> <span class="pln"> </span><span class="tag" style="color:rgb(0,0,136)">&lt;action</span><span class="pln"> </span><span class="atn" style="color:rgb(102,0,102)">android:name</span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="atv" style="color:rgb(0,136,0)">"android.intent.action.MAIN"</span><span class="pln"> </span><span class="tag" style="color:rgb(0,0,136)">/&gt;</span> </div><div> </div><div> <span class="pln"> </span><span class="tag" style="color:rgb(0,0,136)">&lt;category</span><span class="pln"> </span><span class="atn" style="color:rgb(102,0,102)">android:name</span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="atv" style="color:rgb(0,136,0)">"android.intent.category.LAUNCHER"</span><span class="pln"> </span><span class="tag" style="color:rgb(0,0,136)">/&gt;</span> </div><div> <span class="pln"> </span><span class="tag" style="color:rgb(0,0,136)">&lt;/intent-filter&gt;</span> </div><div> <span class="pln"> </span><span class="tag" style="color:rgb(0,0,136)">&lt;/activity&gt;</span> </div><div> <span class="pln"> </span><span class="tag" style="color:rgb(0,0,136)">&lt;activity</span> </div><div> <span class="pln"> </span><span class="atn" style="color:rgb(102,0,102)">android:name</span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="atv" style="color:rgb(0,136,0)">".SignatureDetailActivity"</span> </div><div> <span class="pln"> </span><span class="atn" style="color:rgb(102,0,102)">android:label</span><span class="pun" style="color:rgb(102,102,0)">=</span><span class="atv" style="color:rgb(0,136,0)">"@string/app_name"</span><span class="pln"> </span><span class="tag" style="color:rgb(0,0,136)">&gt;</span> </div><div> <span class="pln"> </span><span class="tag" style="color:rgb(0,0,136)">&lt;/activity&gt;</span> </div><div> <span class="pln"> </span><span class="tag" style="color:rgb(0,0,136)">&lt;/application&gt;</span> </div><div> </div><div><span class="tag" style="color:rgb(0,0,136)">&lt;/manifest&gt;</span></div><p style="margin-top:0px; margin-bottom:10px; padding-top:0px; padding-bottom:0px"></p></pre> </div> <div style="line-height:28px; font-family:'Hiragino Sans GB W3','Hiragino Sans GB',Arial,Helvetica,simsun,u5b8bu4f53; font-size:16px; background-color:rgb(245,245,245)"> 结束!</div> <br><p></p> </wbr>

Android快速批量打渠道包(AndroidManifestModifier)相关推荐

  1. android 渠道包测试,Android快速批量多渠道包的“蛋生”

    对于安卓程序猿朋友来说,每当发布新版本的APP,均会分发到各大应用市场,比如腾讯应用宝,豌豆荚和360手机助手等.为了让程序猿同志们更好的区分不同的应用市场,掌握各市场APP发展状况,为了更多体现世界 ...

  2. Android 新版v2签名渠道包工具

    目录 使用说明 运行环境 1.下载源码编译运行 2.下载压缩包解压运行 Apk渠道相关 zipalign对齐 注意 签名相关命令 旧版v1签名 新版v1&v2签名 验证Apk签名状态 签名状态 ...

  3. 脚本批量打包渠道包研究

    上一篇文章中我们相惜讨论了Assetbundle的原理,如果对原理还不太了解的朋友可以看这一篇文章:Unity3D研究院之Assetbundle的原理(六十一) 本篇文章我们将说说assetbundl ...

  4. android打包工具多渠道批量打包,Android 快速渠道批量打包详解教程-美团多渠道打包方案...

    今天写一篇文章来总结下android批量打渠道包美团版本.之前项目上一直用的是gradle 批量打包方式,那个速度啊真是令人发指,15个渠道得跑上半个小时,出去吃顿饭回来,还在跑.特别是赶上项目上线的 ...

  5. android 美团批量打包,Android 快速渠道批量打包详解教程-美团多渠道打包方案

    今天写一篇文章来总结下android批量打渠道包美团版本.之前项目上一直用的是gradle 批量打包方式,那个速度啊真是令人发指,15个渠道得跑上半个小时,出去吃顿饭回来,还在跑.特别是赶上项目上线的 ...

  6. android渠道包加固,Android多渠道打包和加固那些事

    多渠道两种打包方式: 一.利用android studio的productFlavors去多渠道打包.速度慢,让人崩溃.但与市场上的一些加固无缝接入. 二.利用美团的walle,快速高效,但是在加固上 ...

  7. Android V1、V2签名包和快速集成美团多渠道打包

    今日科技快讯 三天的Google I/O大会2018终于落下帷幕,虽说现在的I/O大会重点已经变成了人工智能,但是Android P的推出还是让很多小伙伴激动不已的.这次Android P被喻为近几年 ...

  8. 新一代开源Android渠道包生成工具Walle

    本文转载自[http://tech.meituan.com/android-apk-v2-signature-scheme.html] 在Android 7.0(Nougat)推出了新的应用签名方案A ...

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

    上篇介绍了怎么使用ant自动编译打包现有的android项目,这篇将继续介绍如果如何在ant打包应用的时候加入签名信息以及自动打包渠道包. 1. 加入签名信息: 在项目的根目录下建一个ant.prop ...

最新文章

  1. 机器学习(14)逻辑回归(理论)
  2. 配置.net 3.0开发环境
  3. 一步一步教你实现简单的自定义错误跟踪
  4. 22/11/2010
  5. mysql orm .net,2020年 .NET ORM 完整比较、助力选择
  6. NOIP模拟测试5「星际旅行·砍树·超级树」
  7. 事务超时时间无效_Java面试题:Spring事务面试考点的集合整理。建议收藏阅读...
  8. Oracle中关于处理小数点位数的几个函数,取小数位数,Oracle查询函数
  9. 正则提取 html 里input 标记的value 值
  10. 计算机网络学习(四)网络层
  11. Mac安装Mysql(图文解说详细版)
  12. linux安装mysql菜鸟教程_Linux安装mysql教程
  13. 嵌入式 Web Server 温度检测系统
  14. PGP验证数字签名原理
  15. 英雄联盟服务器状态在线怎么解决,解决英雄联盟无法连接到服务器的方法 看完就明白了...
  16. 昆山java自行车,剁手清单:剁手的路上总会有几个“毒友”加持
  17. SAM-BA AT91 USB to Serial converter驱动安装失败解决方法
  18. jquery-seat-charts 使用-自定义座位号 及 重新加载数据
  19. [计算机网络] 实验 5 电子邮件
  20. mysql存储过程出参和入参_数据库mysql存储中的入参出参理解

热门文章

  1. 原生JS实现简易转盘抽奖
  2. Eclipse启动Web项目 Tomcat中webapps中没有项目文件夹
  3. android graphic(15)—fence
  4. Linux设备管理(三)_总线设备的挂接
  5. Angular进阶教程一
  6. TDEngine游戏平台框架逻辑
  7. 生成网上下载的EF项目对应的数据库
  8. 以太坊开发入门,完整入门篇
  9. Spring 整合 Disruptor 第一个版本
  10. 自动生成SQL查询、删除、更新、插入语句