Linux use apktool problem

简介: Linux服务器在线打包遇到的问题 转载请标明出处: https://blog.csdn.net/DJY1992/article/details/80110942 本文出自:【奥特曼超人的博客】在线打包的流程遇到奇怪的BUG(Linux apktool 包体变大)1. 在线打包的流程 首先我们需要根据在线打包自动关联落地页,同时落地页也是动态生成可选的。

Linux服务器在线打包遇到的问题

转载请标明出处:
https://blog.csdn.net/DJY1992/article/details/80110942
本文出自:【奥特曼超人的博客】

  • 在线打包的流程
  • 遇到奇怪的BUG(Linux apktool 包体变大)

1. 在线打包的流程

首先我们需要根据在线打包自动关联落地页,同时落地页也是动态生成可选的。

1.1 UML 图:

序列图:

Created with Raphaël 2.1.2 User User Server Server 脚本 脚本 CID--------------------CNAME 队列处理 URL--------------------CURL

流程图:

Created with Raphaël 2.1.2 开始 打包、落地页 确认 结束 yes no

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
Linux - How to use LVM in Linux
Linux - How to use LVM in Linux
104 0
|
应用服务中间件 Linux nginx
Linux下启动Nginx时报错:nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Linux下启动Nginx时报错:nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
1007 0
Linux下启动Nginx时报错:nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
|
存储 缓存 监控
关于Linux中使用USE(使用率/饱和度/错误)方法分析系统性能的一些笔记
如果说希望通过`USE`做一些调优的工作,我觉得需要一定的能力,但是可以通过`USE`来定位机器的性能瓶颈,做一些排故工作。比如机器上的应用发生某些已知的未知故障,比如客户感知卡顿,工单流转,服务编排,调度任务等特别慢的情况,希望确认是机器性能问题,还是应用程序问题,这个时候,使用`USE`方法是一个很好的策略。
421 0
关于Linux中使用USE(使用率/饱和度/错误)方法分析系统性能的一些笔记
|
编解码 Ubuntu 编译器
解决(ARM64-ARMV8)嵌入式Linux系统下X264编码提示:libx264 :use cpu capability none!
解决(ARM64-ARMV8)嵌入式Linux系统下X264编码提示:libx264 :use cpu capability none!
538 0
解决(ARM64-ARMV8)嵌入式Linux系统下X264编码提示:libx264 :use cpu capability none!
|
Oracle 关系型数据库 Linux
Linux下oracle数据库spfile参数配置文件丢失问题解决,“ORA-32001: write to SPFILE requested but no SPFILE is in use“问题处理
Linux下oracle数据库spfile参数配置文件丢失问题解决,“ORA-32001: write to SPFILE requested but no SPFILE is in use“问题处理
882 0
Linux下oracle数据库spfile参数配置文件丢失问题解决,“ORA-32001: write to SPFILE requested but no SPFILE is in use“问题处理
|
Ubuntu Linux
Linux - 修复Ubuntu错误“System program problem detected”
The error "System program problem detected" comes up when a certain application crashes. Ubuntu has a program called Apport that is responsible for...
1475 0
|
Oracle 关系型数据库 Linux
How to use udev for Oracle ASM in Oracle Linux 6 怎样使用udev在linux 6系统上使用asm
<p><br></p> <p></p> <div id="content" class="bigfont mycontent" style="zoom:1; line-height:23px; font-size:14px; margin:18px 28px; font-family:'lucida Grande',Verdana,'Microsoft YaHei'; clear:bo
2078 0
|
Shell Linux 数据库
How to use “svn add” recursively in Linux shell?
This command will add any un-versioned files listed in svn st command output to subversion. Note that any filenames containing whitespace in the svn stat output will not be added.
1047 0