如何理解apk反编译和重新打包-创新互联

这篇文章给大家介绍如何理解apk反编译和重新打包,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

创新互联专注于新和企业网站建设,成都响应式网站建设公司,成都商城网站开发。新和网站建设公司,为新和等地区提供建站服务。全流程按需网站建设,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

最近用anysdk接android,接入有点小麻烦,不过确实带来了很大的便利,接入新渠道只需要设置参数就可以了,唯一要注意的就是,发布的时候把debugMode关闭。

不过android下面的anysdk有个问题,就是所有渠道必须用同一套资源,然后使用母包生成渠道包,包之间无法做差异化,这与我们项目有点矛盾。要解决这个问题,能想到的有两个办法:

  1. 母包就将某个渠道的最终资源弄进去,再生成渠道包,这个确实可行,但是实在太麻烦,不好维护,而且使anysdk带来的便利大大降低。

  2. 一次性生成所有渠道包,再用apktool等工具反编译,把差异化文件添加进去,再重新签名。

    反编译倒是没问题,遇到了一个问题:需要额外下载一个apktool.jar。没想到重签名卡了好久,因为网上说的命令都是jarsigner -verbose -keystore xx.keystore -signedjar -pkg.apk pkg1.apk xx.keystore,也没讲每个参数什么意思,用的时候总是出错,搞了好久才成功。

    下面将命令解释如下:

    jarsigner:jdk下的一个工具,后缀exe

    -verbose:输出详细信息

    -keystore:秘钥文件

    -signedjar:签名文件,第一个参数为签名后的文件,相当于输出文件,第二个为未签名文件,输入文件。开始搞反了,以为第一个是输入,第二个输出,被坑了一把。

    最后一个参数,是keystore的alias名,网上说的真是误人子弟,放两个keystore文件名有何意义,是吧。

所以正确的命令应该是:jarsigner -verbose -keystore xx.keystore -signedjar output.apk input.apk alias

关于如何理解apk反编译和重新打包就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


标题名称:如何理解apk反编译和重新打包-创新互联
URL标题:http://azwzsj.com/article/dhsoch.html