由于实际需求,项目可能要分发多个渠道,接入融合的sdk是当前情况的首选。但是当我们接好融合sdk,不同的子包sdk接入之后,不同的sdk有自己独特的表现方式,导致一个不可描述的bug出现,这种bug可能只在某个sdk下才会出现的。

     那么我们面临的情况就是logcat下这个子包,发现可能的问题,出一个融合的母包交给发行,发行那边再出一个子包测试,解决的话,皆大欢喜,不行的话,如此循环。效率低不算,还涉及多方的协同合作,时间线拉的比较长,出现疑难杂症的话,迟迟得不到解决,非常的影响心情。

     为了解决这种情况,那么下面提供一个比较快捷的测试方法,即不需要涉及到发行打子包的操作,我们自己出完包,就可以同步修改到子包上面的方案。

 

一、需要准备的工具

1、你需要可以运行jdk的环境,以及apk解包工具apktool,这里使用的是apktool-2.3.4.jar

 

二、了解原理

1、可以使用命令java -jar apktool-2.3.4.jar d -f aa.apk -o bb

aa.apk是你要解包的apk,bb是解包之后生成的文件夹名字。

android工程通过解包之后,一般的目录结构都是固定的,如下面所示

接入融合SDK的快速调试方法

 

smali文件目录就是我们android代码编译之后的产物,不管是我们的代码,亦或者是sdk的代码都是在这里有对应的生成文件。举个例子,下面就是smali目录下面可能有的文件夹

接入融合SDK的快速调试方法

 

例如okhttp3文件,他的前身就是okhttp3.x.jar包,我们写的代码一般都是在com文件下面,认准自己代码的文件夹名即可。

 

三、实际操作

大致的操作流程就是,首先,我们修改代码之后,打一个包,打好包之后通过apktool去解开这个包,得到上面说的目录;然后把有问题的子包也是解开出现上面的目录,然后两个目录进行对比,把smali目录下面,自己代码相关的目录直接对比到子包的smali对应目录下。最后把子包达成apk进行调试。

 

接入融合SDK的快速调试方法

综述,有了上面的操作方式,不管要怎么实验我们的修改都可以自己一个人搞定。摒弃了多方协同的情况,在相同的时间内,可以出更多的apk去测试我们的修改是否可行,效率得到了倍数的提升!

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-22
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-10-03
  • 2022-03-08
  • 2021-07-17
  • 2021-08-03
  • 2022-02-04
  • 2022-12-23
相关资源
相似解决方案