Linux use apktool problem包体变大GLIBC2.14等问题
Linux服务器在线打包遇到的问题
转载请标明出处:
https://dujinyang.blog.csdn.net/article/details/80110942
本文出自:【奥特曼超人的博客】
- 在线打包的流程
- 遇到奇怪的BUG(Linux apktool 包体变大)
1. 在线打包的流程
首先我们需要根据在线打包自动关联落地页,同时落地页也是动态生成可选的。
@
1.1 UML 图:
序列图:
User->>Server: CID--------------------CNAME
Note right of 脚本: 队列处理
Server-->>User: URL--------------------CURL
流程图:
st=>start: 开始
e=>end: 结束
op=>operation: 打包、落地页
cond=>condition: 确认
st->op->cond
cond(yes)->e
cond(no)->op
2. 遇到奇怪的BUG
2.1 环境问题:首次运行会报错 `GLIBC_2.14' not found 。
注意:虽然服务器是Linux,但是底层GLIC是未安全的,针对这个问题是需要单独安装这个C/C++的库,不然会出现打包时报错 `GLIBC_2.14' not found。
/lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./libz.so.1)
查看系统glibc支持的版本,一般是版本过低或者没有安装:
[root@djy bin]# rpm -qa|grep glibc
glibc-common-2.12-1.149.el6.x86_64
glibc-headers-2.12-1.149.el6.x86_64
glibc-2.12-1.149.el6.x86_64
glibc-devel-2.12-1.149.el6.x86_64
安装:
//注意:configure时需要修改环境变量LD_LIBRARY_PATH,当前build目录不能在LD_LIBRARY_PATH中。
[root@djyopt]# wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz
[root@djy opt]# tar -xf glibc-2.14.tar.gz
[root@djy opt]# cd glibc-2.14
[root@djy glibc-2.14]# mkdir build
[root@djy glibc-2.14]# cd build
[root@djy build]# ../configure --prefix=/home/dyc/install/glibc
[root@djy build]# make -j4
[root@djy build]# make install
修改环境变量,增加glibc/lib目录:
export LD_LIBRARY_PATH=.:$QTDIR/lib:$PIEV4_SDK_LIB:/home/djy/install/glibc/lib
2.2 包体增加变大的问题
某个游戏的包在线上处理时,游戏包体会从40M变成80M。打包流程的脚本是肯定没问题的,测试都通过了,那么就只有几种情况。
- 环境问题:Linux服务器C/C++底层库的问题
- 游戏母包的问题
- jar包引起的脚本问题
那做了以下几点尝试:
- 服务器在线打包,Win系统也跟着打包,对比。
- 另外一台服务器可以,对比服务器环境。
- 服务器反编译和WIN系统反编译大小对比。
- 脚本问题
- 依赖的jar问题
解决方案: 经过几个小时,发现了是 jar的 2.1.3 问题,替换最新的 2.3.2 即可。

如果想加固的同学可以看这篇:《Android apk如何加固防止被破解(防止逆向编译)》
|| 版权声明:本文为博主杜锦阳原创文章,转载请注明出处。
Linux use apktool problem包体变大GLIBC2.14等问题的更多相关文章
- Linux UDP严重丢包问题的解决
测试系统在Linux上的性能发现丢包率极为严重,发210000条数据,丢包达110000之巨,丢包率超过50%.同等情形下Windows上测试,仅丢几条数据.形势严峻,必须解决.考虑可能是因为协议栈B ...
- 现在的 Linux 内核和 Linux 2.6 的内核有多大区别?
作者:larmbr宇链接:https://www.zhihu.com/question/35484429/answer/62964898来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...
- [转]Linux UDP严重丢包问题的解决
测试系统在Linux上的性能发现丢包率极为严重,发210000条数据,丢包达110000之巨,丢包率超过50%.同等情形下Windows上测试,仅丢几条数据.形势严峻,必须解决.考虑可能是因为协议栈B ...
- http请求报文格式(请求行、请求头、空行 和 请求包体)和响应报文格式(状态行、响应头部、空行 和 响应包体)
转载 出处 超文本传输协议(Hypertext Transfer Protocol,简称HTTP)是应用层协议.HTTP 是一种请求/响应式的协议,即一个客户端与服务器建立连接后,向服务器发送一个请求 ...
- PL/SQL 编程(三 )程序包和包体,触发器,视图,索引
一.程序包和包体 程序包(package):存储在数据库中的一组子程序.变量定义.在包中的子程序可以被其它程序包或子程序调用.但如果声明的是局部子程序,则只能在定义该局部子程序的块中调用该局部子程序. ...
- Oracle包和包体
一.什么要使用包? 在一个大型项目中,可能有很多模块,而每个模块又有自己的过程.函数等.而这些过程.函数默认是放在一起的(如在PL/SQL中,过程默认都是放在一起 的,即Procedures中),这些 ...
- 利用wireshark抓取远程linux上的数据包
原文发表在我的博客主页,转载请注明出处. 前言 因为出差,前后准备总结了一周多,所以博客有所搁置.出差真是累人的活计,不过确实可以学习到很多东西,跟着老板学习做人,学习交流的技巧.入正题~ wires ...
- Linux内核网络数据包处理流程
Linux内核网络数据包处理流程 from kernel-4.9: 0. Linux内核网络数据包处理流程 - 网络硬件 网卡工作在物理层和数据链路层,主要由PHY/MAC芯片.Tx/Rx FIFO. ...
- 深入理解 web 协议(一)- http 包体传输
本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/WlT8070LlrnSODFRDwZsUQ作者:吴越 开坑这个系列的原因,主要是在大前端学习的 ...
随机推荐
- [译]为任意网格计算tangent空间的基向量
+BIT祝威+悄悄在此留下版了个权的信息说: [译]为任意网格计算tangent空间的基向量 Computing Tangent Space Basis Vectors for an Arbitrar ...
- JAVA项目从运维部署到项目开发(五. Nginx)
<Nginx与Nginx-rtmp-module搭建RTMP视频直播和点播服务器>一文简单介绍了关于直播数据流的nginx相关配置,下面简单介绍下各种项目如何配置nginx. web项目. ...
- (读论文)推荐系统之ctr预估-DeepFM模型解析
今天第二篇(最近更新的都是Deep模型,传统的线性模型会后面找个时间更新的哈).本篇介绍华为的DeepFM模型 (2017年),此模型在 Wide&Deep 的基础上进行改进,成功解决了一些问 ...
- springMVC保存数据到mysql数据库中文乱码问题解决方法
1.web.xml中添加过滤器 <filter> <filter-name>CharacterEncodingFilter</filter-name> <fi ...
- vuex快速入门
vuex是什么? vuex是一个专门为vue.js应用程序开发的状态管理模式. vuex默认的五种基本的对象: state:存储状态(可以理解为变量)可以从计算属性中返回某个状态 getters:通常 ...
- Linux学习笔记06之DNS
一.DNS概念:Domain Name System(域名系统) 是互联网上作为域名和IP地址相互映射的一个分布式数据库 二.DNS功能: 完成IP地址和域名之间的一个映射 三.DNS分类: 1.静态 ...
- Keil uVision4 ——如何新建一个项目
一.打开Keil4软件,点击Project,再点击New μVision Projrct. 二.新建一个文件夹,并在里面输入这个项目的名字. 三.点击Intel,根据实际情况选择,这里选择的是80/8 ...
- Linux下zookeeper下载与安装教程
原文连接:(http://www.studyshare.cn/blog-front//blog/details/1169/0)一.下载 官网下载:点这里 百度网盘下载:点这里 官网下载图示: jav ...
- 算法与数据结构基础 - 链表(Linked List)
链表基础 链表(Linked List)相比数组(Array),物理存储上非连续.不支持O(1)时间按索引存取:但链表也有其优点,灵活的内存管理.允许在链表任意位置上插入和删除节点.单向链表结构一般如 ...
- 【React踩坑记三】React项目报错Can't perform a React state update on an unmounted component
意思为:我们不能在组件销毁后设置state,防止出现内存泄漏的情况 分析出现问题的原因: 我这里在组件加载完成的钩子函数里调用了一个EventBus的异步方法,如果监听到异步方法,则会更新state中 ...