首页 > 代码库 > Mac下的Apk多渠道验证工具
Mac下的Apk多渠道验证工具
我之前写过一个在Windows平台下基于jre环境的Apk多渠道验证工具,详见http://blog.csdn.net/h3c4lenovo/article/details/10041047
这种场景比较局限,而且之后修改渠道提供商之后再做修改很麻烦需要重新编译jar包。
于是这次我写了一个基于shell脚本和python脚本的多渠道验证工具,我的开发环境是mac,所以对于mac来说这个脚本不需要单独配置环境也不需要编译,稍作修改即可满足所有人的需要。
cannal.sh
count=0 rootPath=./ toolsPath=./tools/ currentFolderName=${PWD##*/} #在tools路径下 if [ "$currentFolderName" == "tools" ] ; then rootPath=../ toolsPath=./ fi apkUnzipFolder="${rootPath}apkUnzipFolder" androidManifestTxt="${rootPath}AndroidManifest.txt" for line in $(find ${rootPath}* -prune -iname '*.apk'); do echo "开始检查:$line" unzip -o -q -d $apkUnzipFolder $line java -jar ${toolsPath}AXMLPrinter2.jar $apkUnzipFolder/AndroidManifest.xml > $androidManifestTxt python ${toolsPath}xmlParsePy.py let count=$count+1 done if [ -d $apkUnzipFolder ]; then rm -rf $apkUnzipFolder fi if [ -f $androidManifestTxt ]; then rm -r $androidManifestTxt fi echo "完成,共检查${count}个文件"
xmlParsePy.py
import os toolsPath = './' if os.path.basename(os.getcwd())=='tools': toolsPath = '../' from xml.dom import minidom xmldoc = minidom.parse(toolsPath+'AndroidManifest.txt') itemlist = xmldoc.getElementsByTagName('meta-data') for s in itemlist : name = s.attributes['android:name'].value value = http://www.mamicode.com/s.attributes['android:value'].value>主要思路就是遍历当前目录,找到目录下所有以*.apk结尾的文件,对其unzip解压缩,通过AXMLPrinter2.jar将混淆后的AndroidManifest文件反编译。
利用python对xml进行解析找到需要的渠道名称
资源下载:
http://download.csdn.net/detail/h3c4lenovo/8123251
Mac下的Apk多渠道验证工具
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。