多渠道打包,APKtool 以及 meta data 的一些坑
2015-06-12 16:43
169 查看
最近搞多渠道打包,参考了下美团的方案,为尽可能的快,使用了向META-INF直接写入空文件的方法,不过在Testin上测试时,遇到了一个问题:
* TestIn在某些情况下会对APK包进行拆包重打(应该是为了嵌入自动化测试框架),这样META-INF整个文件夹都会被干掉,自然写的渠道空文件也没了,取不到渠道号,当然,这个情况是比较特殊的情况,不过当时为了确保万一,还是换成了拆包重打的多渠道包生成方式。
常规的拆包重打是拆包以后对AndroidManifest.xml中的meta data进行修改以后再重新打包签名,不过这里也有个坑,如果你设的是一个字符串,但是呢,正好是纯数字,或者11111e11这种科学计数法的形式(貌似还有其他情况),那么打包工具对于11111e11这种会给你在xml里转换为带小数点的形式(已经不一样了),而如果你想在程序中以字符串的形式获得这个meta data的值,会返回null.
* TestIn在某些情况下会对APK包进行拆包重打(应该是为了嵌入自动化测试框架),这样META-INF整个文件夹都会被干掉,自然写的渠道空文件也没了,取不到渠道号,当然,这个情况是比较特殊的情况,不过当时为了确保万一,还是换成了拆包重打的多渠道包生成方式。
常规的拆包重打是拆包以后对AndroidManifest.xml中的meta data进行修改以后再重新打包签名,不过这里也有个坑,如果你设的是一个字符串,但是呢,正好是纯数字,或者11111e11这种科学计数法的形式(貌似还有其他情况),那么打包工具对于11111e11这种会给你在xml里转换为带小数点的形式(已经不一样了),而如果你想在程序中以字符串的形式获得这个meta data的值,会返回null.
相关文章推荐
- SQL Server2005 2000导入导出不丢主键和视图的方法
- quartz入门(一)下载及简单实例
- 通过改变eclipse中jboss插件配置文件jboss323.xml,改变部署方式
- 电商网站,性能优化
- 文件逐行写入BufferedWriter的刷新flush()方法
- 《构建之法》第11,12章读后感
- 第9-11组总体评价
- MariaDB数据类型
- javax.persistence.PersistenceE 4000 xception: No Persistence provider for EntityManage
- 性能测试如何计算并发用户数
- javax.persistence.PersistenceException: No Persistence provider for EntityManage
- 64位Win7 IIS7 urlrewriter设置问题
- jquery dataTable 自定义 Button及按钮事件
- 阅读《构建之发》10-12章
- javax.persistence.PersistenceException: No Persistence provider for EntityManage
- windows bat 里面的一些命令总结
- Android中callback(接口回调)机制
- Java 项目常用的日期方法class
- nodejs之child_process子进程模块
- master: java.net.BindException: Address already in use