多渠道打包,APKtool 以及 meta data 的一些坑

最近搞多渠道打包,参考了下美团的方案,为尽可能的快,使用了向META-INF直接写入空文件的方法,不过在Testin上测试时,遇到了一个问题:
* TestIn在某些情况下会对APK包进行拆包重打(应该是为了嵌入自动化测试框架),这样META-INF整个文件夹都会被干掉,自然写的渠道空文件也没了,取不到渠道号,当然,这个情况是比较特殊的情况,不过当时为了确保万一,还是换成了拆包重打的多渠道包生成方式。

常规的拆包重打是拆包以后对AndroidManifest.xml中的meta data进行修改以后再重新打包签名,不过这里也有个坑,如果你设的是一个字符串,但是呢,正好是纯数字,或者11111e11这种科学计数法的形式(貌似还有其他情况),那么打包工具对于11111e11这种会给你在xml里转换为带小数点的形式(已经不一样了),而如果你想在程序中以字符串的形式获得这个meta data的值,会返回null.

你可能感兴趣的:(自动化测试)