欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux use apktool problem包体变大GLIBC2.14等问题

程序员文章站 2022-05-10 09:35:15
Linux服务器在线打包遇到的问题 转载请标明出处: "https://dujinyang.blog.csdn.net/article/details/80110942" 本文出自:【奥特曼超人的博客】 在线打包的流程 遇到奇怪的BUG(Linux apktool 包体变大) 1. 在线打包的流程 ......

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

转载请标明出处:
本文出自:【奥特曼超人的博客】

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

1. 在线打包的流程

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

@[toc]

1.1 uml 图:

序列图:

sequencediagram user->>server: cid--------------------cname note right of 脚本: 队列处理 server-->>user: url--------------------curl

流程图:

flowchat 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 即可。

Linux use apktool problem包体变大GLIBC2.14等问题

如果想加固的同学可以看这篇:《android apk如何加固防止被破解(防止逆向编译)》


|| 版权声明:本文为博主杜锦阳原创文章,转载请注明出处。