zoukankan      html  css  js  c++  java
  • Linux use apktool problem包体变大GLIBC2.14等问题

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

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

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

    1. 在线打包的流程

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

    @

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

    奥特曼超人杜锦阳米奇云科技

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


    || 版权声明:本文为博主杜锦阳原创文章,转载请注明出处。
  • 相关阅读:
    在springMVC的controller层获取view层的参数的方式
    springMVC创建基础变量
    javascript 继承
    CSS3的新属性的一下总结
    常用js函数整理--common.js
    function与感叹号
    javascript void运算符
    ui组件--弹出层layer的使用
    组件,控件,插件,库都是什么鬼啊
    jsdoc文档
  • 原文地址:https://www.cnblogs.com/python2048/p/11420195.html
Copyright © 2011-2022 走看看