今天逯同事说,可以把狂挂传奇打包的项目写成一个脚本,这样就不用担心证书有时不能用的问题了。

然后,像我这么好学的学生,当然要去执行了。(其实,以前他给的建议我都只是听听而已,这次是因为想学点东西了,所以冷静了一把。然后一下午都在鼓捣这个东西)

当这件事情完成后,再回头看,发现代码非常简单,实现的功能也很小,但是对于新手来说,收获还是很多的。

主要的功能实现步骤如下:

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里面的资源,并重新打包的更多相关文章

  1. Android 脚本替换PackageName

    原文简书地址:http://www.jianshu.com/p/dca9c323c686 1 前言 平时如果想要替换包名一般是在AS中右键Rename进行操作.但是如果遇到一份代码希望导出几种不同的包 ...

  2. 【转载】LR - 细节解析,为什么LR脚本会去访问“脚本中不存在的“资源?

    问题描述 同事遇到的一个问题,LR执行性能测试脚本时,总报出错误,无法访问一个图片的地址,但脚本中明明没有对该资源的请求. Action4.c(12): Warning -27796: Failed ...

  3. Android将Activity 打 jar包 (解决资源文件不能打包的问题)

    转载地址:http://blog.csdn.net/xiaanming/article/details/9257853 最近有一个需要,我们公司做了一个apk客户端,然后其他的公司可以根据自己的需要来 ...

  4. Android将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)

    转载地址:http://blog.csdn.net/xiaanming/article/details/9257853 最近有一个需要,我们公司做了一个apk客户端,然后其他的公司可以根据自己的需要来 ...

  5. 【转】Android将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)

    Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法) 鼠标右键项目,然后属性,然后java buildpath 然后order and ex ...

  6. 基于python脚本,实现Unity全平台的自动打包

    转载请标明出处:http://www.cnblogs.com/zblade/ 0. 概述 本文主要针对项目中自动打包过程进行调研,实现用python脚本来打出win/android/ios三个平台下的 ...

  7. 34.如何获取app(apk和ipa)中的资源

    移动互联网中,主要的两个平台是android和ios,android上文件的安装包是后缀名为apk的文件,ios上文件的安装包是后缀名为ipa的文件,在本文分析一下这两种文件的特点,以及如何用程序去解 ...

  8. 提取ipa里面的资源图片

    有时候发现个不错的UI,就想扒出来看看,ipa里的图片你知道的,都不能直接用,所以找到两个方法:一.用python转换1.将ipa文件后缀改为zip,然后解压缩.2.新建一个文件夹,将解压后的包里的p ...

  9. U3D 场景切换时 脚本对象,GO对象,资源对象的问题

    脚本对象:在LUA中写了一个actor类,它封装了角色逻辑,引用了一个GO. GO对象:通过 GameObject.Instantiate(资源对象)生成的. 资源对象:制作好的模型prefab. 在 ...

随机推荐

  1. bootstrap中模态框、模态框的属性

    工作中有需要用到模态框的可以看看 <div class="modal fade" id="userModal" tabindex="-1&quo ...

  2. 第34章 IWDG—独立看门狗—零死角玩转STM32-F429系列

    第34章     IWDG—独立看门狗 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fir ...

  3. Unexpected token o in JSON at position 1

    ajax返回的数据已经是object格式,无需再使用“var newjsonObj = JSON.parse(jsonObj)” 进行转换.

  4. Chrome 调试工具的一些高阶功能

    Chrome 内置抓包工具 Block requests 截取长图 代码的覆盖率分析 Make site better Chrome 内置抓包工具 在浏览器地址栏输入chrome://net-inte ...

  5. jstree 全部选中事件 select_all 使用

    select_all function of jstree not checked node for jstree-open branch of ajax-jstree 很尴尬啊,找了整个百度,360 ...

  6. Linux - bashrc之alias

    1. cd ~ 2. touch .bashrc // 若该文件不存在的话 3. vim .bashrc ----------------复制粘贴如下文本--------------- # alias ...

  7. 获取父窗口元素或者获取iframe中的元素(相同域名下)

    jquery方法 在父窗口中获取iframe中的元素 //方法1 $("#iframe的ID").contents().find("iframe中的元素"); ...

  8. JS常用数组方法及实例

    1.join(separator):将数组的元素组起一个字符串,以separator为分隔符 ,,,,]; var b = a.join("|"); //如果不用分隔符,默认逗号隔 ...

  9. 好用的 Html、CSS、JavaScript 开源项目

    1.极简模块化前端UI框架 Layui 评分:9.3:收藏量:873 授权协议:MIT 开发语言:JavaScript.HTML/CSS 操作系统:跨平台 源码地址:https://gitee.com ...

  10. decltype和新的返回值语法

    新的返回值语法 让我们讲一下新的返回值语法,这个语法还能看到auto的另一个用处.在以前版本的C和C++中,返回值的类型必须写在函数的前面: int multiply(int x, int y) 在C ...