脚本,替换ipa里面的资源,并重新打包
今天逯同事说,可以把狂挂传奇打包的项目写成一个脚本,这样就不用担心证书有时不能用的问题了。
然后,像我这么好学的学生,当然要去执行了。(其实,以前他给的建议我都只是听听而已,这次是因为想学点东西了,所以冷静了一把。然后一下午都在鼓捣这个东西)
当这件事情完成后,再回头看,发现代码非常简单,实现的功能也很小,但是对于新手来说,收获还是很多的。
主要的功能实现步骤如下:
1.更新plist里面的内容;
2.将新的plist转移至包的payload文件中(也就是ipa包解压完的东东:将ipa文件的后缀改为zip,然后解压,会有一个Payload文件);
3.将这个Payload文件压缩(这个地方比较重要,遇到两个难点);
4.将Payload.zip进行ipa重命名,命名为自己想要的。
对于我这个新手来说,所有的Linux语言都是陌生的,从来没有用过,例如解压、压缩、移动、重命名(包括后缀),都不知道。现在就先罗列一下这些简单的小命令,
帮助新手理解并加强记忆。
1.解压:
这样,zip里面的东西,就会解压到空文件夹里面了。当一个ipa包不能安装或者出现乱码时,用这种方式解压,可以看清里面到底是哪个地方变成了乱码。
2.压缩:
zip -qr (要压缩的压缩包的名字及形式) (原要压缩的文件)
3.移动
mv (要移动的文件) (要移动的位置)
mv KY_Channel.plist Payload/TestOfDuDai.app/
4.重命名
mv (被重命名的文件) (最终命名的结果)
这个小脚本用到的小知识点就用到了这些,以后有需要还会在罗列。
不过,虽然这个脚本比较小,但是,在制作的过程中,还是遇到了很多的难题,比如,
1.问题:路径冗余
问题现象:压缩完的文件夹解压后不是直接Payload文件夹,而是嵌套了很多父文件夹,如电脑名称、Desktop等,这样,在重新签名和安装时,是失败的。
解决办法:将当前目录放置在一起。运维庆敏的做法是,在一开始,就放置在桌面上,下面所有的操作都是在桌面上进行的。
进入桌面的方法是:
cd /Users/KuaiYong/Desktop/
这样,在解压或者压缩时,就不会被嵌套很多层了。
2.问题:脸皮
问题现象:遇到不会的,不敢去问别人。许多问题出现时,思前想后的才去问别人。
解决办法:自己搜不到或者解决不出来,就立马去问别人,不浪费时间
总的来说,今天下午过的比较充实,丰富了自己的经验,开启了一片新的天地,对自己的努力比较满意。也许是因为坚持跑步的原因,希望自己能够坚持下去。加油!!

脚本,替换ipa里面的资源,并重新打包的更多相关文章
- Android 脚本替换PackageName
原文简书地址:http://www.jianshu.com/p/dca9c323c686 1 前言 平时如果想要替换包名一般是在AS中右键Rename进行操作.但是如果遇到一份代码希望导出几种不同的包 ...
- 【转载】LR - 细节解析,为什么LR脚本会去访问“脚本中不存在的“资源?
问题描述 同事遇到的一个问题,LR执行性能测试脚本时,总报出错误,无法访问一个图片的地址,但脚本中明明没有对该资源的请求. Action4.c(12): Warning -27796: Failed ...
- Android将Activity 打 jar包 (解决资源文件不能打包的问题)
转载地址:http://blog.csdn.net/xiaanming/article/details/9257853 最近有一个需要,我们公司做了一个apk客户端,然后其他的公司可以根据自己的需要来 ...
- Android将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)
转载地址:http://blog.csdn.net/xiaanming/article/details/9257853 最近有一个需要,我们公司做了一个apk客户端,然后其他的公司可以根据自己的需要来 ...
- 【转】Android将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)
Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法) 鼠标右键项目,然后属性,然后java buildpath 然后order and ex ...
- 基于python脚本,实现Unity全平台的自动打包
转载请标明出处:http://www.cnblogs.com/zblade/ 0. 概述 本文主要针对项目中自动打包过程进行调研,实现用python脚本来打出win/android/ios三个平台下的 ...
- 34.如何获取app(apk和ipa)中的资源
移动互联网中,主要的两个平台是android和ios,android上文件的安装包是后缀名为apk的文件,ios上文件的安装包是后缀名为ipa的文件,在本文分析一下这两种文件的特点,以及如何用程序去解 ...
- 提取ipa里面的资源图片
有时候发现个不错的UI,就想扒出来看看,ipa里的图片你知道的,都不能直接用,所以找到两个方法:一.用python转换1.将ipa文件后缀改为zip,然后解压缩.2.新建一个文件夹,将解压后的包里的p ...
- U3D 场景切换时 脚本对象,GO对象,资源对象的问题
脚本对象:在LUA中写了一个actor类,它封装了角色逻辑,引用了一个GO. GO对象:通过 GameObject.Instantiate(资源对象)生成的. 资源对象:制作好的模型prefab. 在 ...
随机推荐
- 简单使用mybatis(idea中使用)
首先创建一个maven项目 第一步:在pom.xml中添加依赖 <dependencies> <!--mybatis--> <dependency> <gro ...
- quartz的持久化任务调度使用应用的dataSource
Quartz提供两种基本作业存储类型--->第一种类型叫做RAMJobStore: 最佳的性能,因为内存中数据访问最快 不足之处是缺乏数据的持久性,当程序路途停止或系统崩溃时,所 ...
- System.Web.Caching.Cache
此类是利用缓存来保存信息的.可以把一些稳定的数据,不会随用户而改变的信息利用Cache保存起来,可以优化网站的速度. Cache辅助类已上传:GitHub Cache和Session,cookie的区 ...
- python main
python中的main函数,总体来说就是,main比较适合写test测试,有点类似于java中的testcase,就是程序单独运行时是运行main的,但是当被调用时就不会运行main了.具体可以参考 ...
- JavaSE 面试题总结
一. JavaSE 4 1. 面向对象的特征有哪些方面 4 2. String是最基本的数据类型吗? 4 3. super()与this()的区别? 4 4. JAVA的事件委托机制和垃圾回收机制 4 ...
- node.js启动调试方式
node.js启动调试方式(nodeJs不能像js一样在控制台调试) 以express项目为例,启动路径是localhost:3000 一.通过node命令启动 node server/bin/www ...
- js延迟执行与循环执行
延迟一段时间执行特定代码: setTimeout(function () { window.location.href = 'login' },1200); 循环执行: function test() ...
- 简单webservice实现(xFire1.2)
基于xfire实现webservice的实例 首先下载xfire的jar包,并导入项目当中 下载地址:http://xfire.codehaus.org/Download 编写实现类 首先建一个接口把 ...
- esdoc 自动生成接口文档介绍
原文地址:https://www.xingkongbj.com/blog/esdoc/creat-esdoc.html 官网 ESDoc:https://esdoc.org/ JSDoc:http:/ ...
- 【清真dp】cf1144G. Two Merged Sequences
成就:赛后在cf使用错误的贪心通过一题 成就:在cf上赛后提交hack数据 成就:在cf上赛后hack自己 题目大意 有一长度$n \le 2\times 10^5$的序列,要求判断是否能够划分为一个 ...