Closed smalljames closed 7 years ago
有多这么多吗?加壳的包只有1m多,现在加了资源混淆应该还会小点。能发下前后的包分析截图吗
这个大小不知道怎么差这么多,我是从UpdateJiaGu.java里编译出来的
是so库大了吗 我看着加密后的dex和没加密的差别不大
好奇怪的,我用了几个apk来加固,大小都接近大1倍,包分析各大小相加相差不大,但在电脑显示的大小就相差1倍,这个搞不懂
。。。你安装到手机看看大小 可能是信息有误
一样的,电脑上和手机上看这个大小都达到了9.03M(原来是4.85M),你没有遇到这个问题吗? 还是我操作的流程有问题,在是在这里启动加密的入口: encryptApk(new File("D:\AndroidStudioProjects\dexknife-wj-master\app\build\outputs\apk\guide.apk"),keystoreConfig);//地址
没有 我这里看着是dex过大 你那里看着是没有什么区别。。。,后面会优化下加密算法,照理来说不会这么夸张。。。你是用的什么版本的?
1.1.0版本,优化加密算法什么时候启动
下个版本吧 最近有点忙。。。
通过分析,包的大小增加的原因: 1)加固后,classes.dex被移到assert里面,也加了密,此时被打包成apk,此classes.dex不被压缩大小的。 2)而原来没加固之前,classes.dex放在根目录下,这个classes.dex在打包成apk,是可以被压缩大小的。 差异在classes.dex,被加固加密后,不会被压缩了,包大小就变大了
加密算法会增加文件大小,放到assert里面会增大 ,但是不会很夸张最多也就是没有被压缩,后面找到替换的加密方式应该就不会增加这么多大小
加固后的包是没有被压缩的,apk包的大小是9M,解包后的大小也是9M。 末加固前的包,apk包的大小是5M,解包后的大小也是9M。
我试过zip压缩但是也没有小多少
会不会是我们apk中classes.dex特性导致的
不是,用的加密算法增加的体积加大,下个版本会改成压缩加密的方式可能是个折中的方案
期待你的方案
验证1.1.1版本解决
原来apk的大小为1M,加固后就变为2M。 原来apk的大小为7M,加固后大小就变为12M。 加固后的大小多这么多,这是什么原理?