1.思路

整个思路就是,把需要修改的参数以的方式定义在项目的AndroidManifest.xml文件中,具体参数如何获取及具体用法这儿我就不多说,然后打包好一个完整的apk包作为参照包。然后用python脚本把调用apktool工具把apk解开,修改xml文件里面节点下对应参数的值,然后再把apk封起来。提供参数的文件我这儿用的是一个txt的文件,利用python脚本循环读取txt中的每一行,每一行代表一个apk所需的所有参数,使用时以'#'字符split.具体的可参照python脚本的主函数. 当然各位使用的话可以根据自己的需要另行修改,即使对python不懂的童鞋也不用慌张,其实我也不懂,但只要你有一定代码基础,再花十几分钟认真看看这个脚本文件,就会读懂具体的情节,然后根据自己需要修改。

2.崭新的linux环境下需要安装:

以下所有操作都是在linux终端里面用命令行搞定,所以大多数情况下是需要超级管理员权限。

①.jdk/jre

刚开始搞这个'工具'时,用的是一个新装的ubuntu12.04的系统。没想到会需要装jdk/jre的环境。但是在执行python脚本时,看日志报了一个错误,提示需要jre的环境,所以就想起还没装它的包,一查看ubuntu自带了jdk的包,所以就直接使用命令行装了。

②.expect包

为嘛要装这个呢,是因为在打包apk的时候,需要输入签证秘钥时,用到了shell脚本来处理交互动作,就是检测到日志输出:Enter Passphrase for keystore时就输入密码,shell脚本此处用处就是不需要自己手动来输入,直接用脚本交互。在我自己玩这个打包的时候,发现我装的ubuntu日志输出要求输入秘钥时竟然报出的是:输入密钥库的口令短语。所以这个需要根据自己装的系统来查看具体情况,然后适当修改shell脚本里面的东西。如何查看呢,直接在终端里面用命令行运行这个shell脚本,就可以看到它的系统日志提示。

③.python环境

为嘛需要装这个运行环境,我就不多说。具体如何装,大家去go去哈。

④.androidSDK环境,要用到zipalign并赋予可执行权限

因为新装的linux系统,所以没有android的开发环境,在给apk打包的时候,最后一步用到了androidSDK里面的zipalign这个工具。如果你没装这个包,在执行python脚本的时候,日志会报错告诉你找不到这个包。所以我就索性在官网下载了一个android开发的adt,里面附带了最新版SDK,然后就把SDK,tools下的这个包copy到/usr/local/bin下面去,并赋予可执行权限。

⑤.apktool 三个文件都赋予权限.

apktool工具,是在解开apk时会用到,所以需要装这个包。这个需要在网络上去下载,我下载的地址是

http://code.google.com/p/android-apktool/downloads/list到这个里面去把第一个和最后一个ForLinux的都下载下来,解压缩有三个文件,aapt、apktool、apktool.jar  都拷贝到 /usr/local/bin下面去,并赋予可执行权限。

3.准备完成后,如何打包

以上一切工作准备好之后,只需要执行python脚本,就会自动打包了。txt文件中有多少行,就会打包多少个,如果情况正常的话。

注意的地方:

1.shell脚本中 spawn /usr/bin/jarsigner -verbose -keystore 自己的秘钥文件名 -signedjar $new_name $origin_name 生成秘钥时的Alias

2.注意文件的路径及命名,比如所需参数的txt文件的路径,python中调用的shell脚本的路径,还有已经存在原始的apk的路径和命名,目前提供的文件中都是放在同一目录下的相对路径。

3.最后打包出来的apk文件也在同一目录下,但是请大家验证一下其可用与否,主要是验证它的签名是否正确,最简单的方式就是覆盖安装确定正确的包,看能否覆盖安装成功。

4.整个过程中涉及到很多linux基础命令,如果linux菜鸟,最好请教一下同事或朋友帮忙。

5.之前尝试了把这套脚本放在windows下去执行,但无论我如何装执行shell脚本的兼容包神马的,都没能成功。这套脚本的原创者是android开发者@杨豪 同学。作为高富帅的他是在自己的mac下运行的,所以我只是把它移植到linux下了而已。谢谢@杨豪 同学给于我莫大的帮助哈。

linux apk 打包工具,linux下apk批量打包相关推荐

  1. Linux漏洞建议工具Linux Exploit Suggester

     Linux漏洞建议工具Linux Exploit Suggester 在Linux系统渗透测试中,通常使用Nessus.OpenVAS对目标主机进行扫描,获取目标主机可能存在的漏洞.如果无法进行漏洞 ...

  2. linux环境对apk文件写入数据,Linux下7zip命令apk中插入文件标识渠道批量打包

    项目需要:需要对某个包分包,对渠道和下面的包做标记,但又不改变原包的签名,想到在原apk中插入某个带渠道号和包号的文件,服务器Linux环境,采用7zip 压缩格式解压,打包,插入文件到apk解压后的 ...

  3. linux系统打包工具,Linux 压缩、解压缩和打包工具

    前言:你是否曾经因为某个文件占用空间较大,而空间紧缺的U盘无法存放此文件.你是否曾经因为软件里有太多文件而不方便复制和携带.你是否曾因需要备份太过零散而头疼.那么基于"文件压缩和打包&quo ...

  4. linux下qt多个程序打包,解决Ubuntu下使用linuxdeployqt打包Qt程序问题

    写了点Qt界面程序,然而发现很难移植到其他没有安装Qt环境的电脑上运行.查资料了解到,在windows上有windowsdeployqt程序,linux上有linuxdeployqt可以帮助我们快速打 ...

  5. linux rom打包工具,Android rom解包打包工具

    eMMC主要是针对手机和平板电脑等产品的内嵌式存储器,由于其在封装中集成了一个控制器,且提供标准接口并管理闪存等优势,越来越受到Android手机厂商的青睐,以eMMC为存储设备的android手机, ...

  6. linux c语言工具,Linux下C语言编程环境的工具.doc

    Linux下C语言编程环境的工具 Linux下C语言编程环境的工具 Linux下C语言编程环境的工具 要想在Linux下进行C语言编程,首先得搭建好一个编程环境.这里分别说明一下几个非常有用的软件包. ...

  7. 7z替换exe文件内容不能替换文件_Windows小技巧 批处理文件实现目录下文件批量打包压缩...

    最近整理资料,发现很多 pdf 文档,占用了不少的存储空间,考虑使用 7-zip 进行压缩存储,由于文件比较多,且分散在不同目录下,一个个文件压缩比较繁琐.为了提高效率且,方便后面取用,所有打算捣鼓个 ...

  8. c# 指定打开某个路径下的CMD_Windows小技巧 批处理文件实现目录下文件批量打包压缩...

    最近整理资料,发现很多 pdf 文档,占用了不少的存储空间,考虑使用 7-zip 进行压缩存储,由于文件比较多,且分散在不同目录下,一个个文件压缩比较繁琐.为了提高效率且,方便后面取用,所有打算捣鼓个 ...

  9. Windows小技巧 -- 批处理文件实现目录下文件批量打包压缩

    文章目录 for 命令实现 使用方法 批处理 for 命令说明 **forfiles** 命令实现 批处理 forfiles 命令说明 关于 7-zip DEL 命令删除文件 参考阅读 最近整理资料, ...

  10. linux中top工具,Linux命令工具 top详解

    Linux命令工具 top详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不 ...

最新文章

  1. PCL深度图像(1)
  2. 黑客必知的SQL语句 黑客知道,程序员必知
  3. OpenCV 4.5.3 发布!优化DNN等多个模块~
  4. 洛谷P4206 聪聪与可可
  5. 【原创】Aspose.Words组件介绍及使用—基本介绍与DOM概述
  6. django 添加comments app
  7. thonny中文版(python编辑器)
  8. 中国毛纺织行业竞争分析与发展前景展望报告2022-2028年
  9. Rainmeter 天气
  10. 使用github时因fatal: remote origin already exists错误,无法提交
  11. 13个代码注释的小技巧
  12. python点击按钮创建进程_python-创建进程的三种方式
  13. Python绘制傅里叶变换、反变换与带通滤波图像
  14. 计算机机房新风机管道布置要求,新风系统管道布置—新风系统管道布置连接方法介绍...
  15. 1997年起至今的所有 WiFi 设备均易遭 Frag 攻击
  16. ASP.NET - 一般处理程序获取session值
  17. caffe2 mdl文件转init_net.pb, predict_net.pb
  18. 实用的技巧之免费下载百度文库VIP文章
  19. 基于遗传算法(deap)的配词问题与deap框架
  20. 6种自动化测试框架(总有一款适合你)

热门文章

  1. 创建简单demo通用步骤
  2. 关于获取修改windows计算机名
  3. 矢量(vector)瓦片与栅格(raster)瓦片对比
  4. 车厢调度(4种方法)
  5. 闲谈fail-fast机制
  6. Maria840js面试题:不使用中间变量,交换int型的 a, b两个变量的值
  7. 通信信号与系统分析(四 基于simulink仿真)
  8. Spring Boot+JSP项目中静态资源配置
  9. Excel 制作散点图并添加趋势线
  10. 串口软件与uPs测试,单路串口服务器在UPS动环监控解决方案你可了解?