脚本,替换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. 在 ...
随机推荐
- jQuery与Aiax应用
Ajax(一部JavaScript和XML) 优势: ①不需要插件支持 ②优秀的用户体验:能在不刷新整个页面的前提下更新数据,这使得web应用程序能更为迅速地回应用户的操作. ③提高web程序的性能: ...
- 【转】javascript中not defined、undefined、null以及NaN的区别
原文链接(点击跳转) 第一:not defined 演示代码: <span style="font-size:12px;"><span style=" ...
- Wuss Weapp 一款高质量,组件齐全,高自定义的微信小程序 UI 组件库
Wuss Weapp 一款高质量,组件齐全,高自定义的微信小程序 UI 组件库 文档 https://phonycode.github.io/wuss-weapp 扫码体验 使用微信扫一扫体验小程序组 ...
- 使用ansible安装配置zabbix客户端
ansible角色简介: 目录名 说明 defaults 默认变量存放目录 handlers 处理程序(当发生改变时需要执行的操作) meta 角色依赖关系处理 tasks 具体执行的任务操作定义 t ...
- input标签中的name
<input>标签是java web的jsp页面中最常用的标签,特别是用来在页面和servlet中传递内容, 但是我们看到<input>标签中有很多内容,这边我们只提一下主要的 ...
- composer安装教程(Linux版)
composer 是款不错的工具,那么如何进行安装composer呢 如果您是linux系统或是mac系统 请先确定是否安装了curl linux安装curl 1 yum install -y c ...
- 【笔记】objdump命令的使用
---恢复内容开始--- objdump命令是Linux下的反汇编目标文件或者可执行文件的命令,它还有其他作用,下面以ELF格式可执行文件test为例详细介绍: objdump -f test 显示t ...
- vue 组件间数据传递
父组件向子组件传值 方法一: 子组件想要使用父组件的数据,需要通过子组件的 props 选项来获得父组件传过来的数据. 1.父组件parent.vue中代码: <template> < ...
- Git-Git克隆
鸡蛋不装在一个篮子里 Git的版本库目录和工作区在一起,因此存在一损俱损的问题,即如果删除一个项目的工作区,同时也会把这个项目的版本库删除掉.一个项目仅在一个工作区中维护太危险了,如果有两个工作区就会 ...
- 13 KNN背景分割器
传统的前景背景分割方法有GrabCut,分水岭算法,当然也包括一些阈值分割的算法.但是这些算法在应用中往往显得鲁棒性较弱,达不到一个好的分割效果. 现代的背景分割算法融入了机器学习的一些方法来提高分类 ...