http://wetest.qq.com/lab/view/?id=96?from=ads_test2_qqtips&sessionUserType=BFT.PARAMS.192184.TASKID&ADUIN=192726456&ADSESSION=1465349342&ADTAG=CLIENT.QQ.5479_.0&ADPUBNO=26582 小编导读:无论是开发还是发行,不可避免的会遇到包体过大需要压缩的情况.对于发行商来说,尽管现在wifi遍地,但就算移动运…
Bugly 技术干货系列内容主要涉及移动开发方向,是由 Bugly 邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明出处. 本文从源码角度剖析 RNA 中 Java <> Js 的通信机制(基于最新的 RNA Release 20). 对于传统 Java<>Js 通信而言,Js 调用 Java 通不外乎 Jsbridge.onprompt.log 及 addjavascriptinterface 四种方式,在 Java 调用 Js 只有 l…
前言 本文为腾讯bugly的原创内容,非经过本文作者同意禁止转载,原文地址为:http://bugly.qq.com/bbs/forum.php?mod=viewthread&tid=1180 我们所熟知的,Android 的图形绘制主要是基于 View 这个类实现. 每个 View 的绘制都需要经过 onMeasure.onLayout.onDraw 三步曲,分别对应到测量大小.布局.绘制. Android 系统为了简化线程开发,降低应用开发的难度,将这三个过程都放在应用的主线程(UI 线程)…
Dalvik字节码有着自己的类型,方法与字段表示方法,这些方法与Dalvik虚拟机指令集一起组成了一条条的Dalvik汇编代码. 1.类型 Dalvik字节码只有两种类型,基本类型与引用类型.Dalvik使用这两种类型来表示Java语言的全部类型,除了对象与数组属于引用类型外,其他的Java类型都是基本类型.BakSmali严格遵守DEX文件格式中的类型描述符定义.类型描述符对照如下表 语法 含义 V void,只用于返回类型 Z boolean B byte S short C char I…
refs: APK反编译之一:基础知识http://blog.csdn.net/lpohvbe/article/details/7981386 APK反编译之二:工具介绍http://blog.csdn.net/lpohvbe/article/details/7983907 深入理解Dalvik字节码指令及Smali文件http://blog.csdn.net/dd864140130/article/details/52076515 Android基础入门教程——1.10 反编译APK获取代码&…
如何解释dalvik字节码 文档: 在Android系统源码目录dalvik\docs有相关指令文档 dalvik-bytecode.html 实战: 来直接实战模拟来理解枯燥的理论 用IDA打开一个dex文件, 设置显示指令 随便找一段代码 注意: 206E 28DE 0050是IDA的显示问题 在文件中的存储顺序是 6E 20 DE 28 50 00  在WinHex搜索一下就知道了 上面截图的指令在文件中的排列顺序如下: 14 05 09 00 09 01 6E 20 DE 28 50 0…
参考此微博,更多详细内容可以到这里查看 http://blog.csdn.net/dd864140130/article/details/52076515 Dalvik字节码 1.寄存器位32位,64位数据(double)用两个相邻的32寄存器表示. 2.两种类型:基本类型和引用类型(对象和数组) 全限定名是什么? 以String为例,其完整名称是Java.lang.String,那么其全限定名就是java/lang/String;,即java.lang.String的”.”用”/”代替,并在末…
参考链接:https://www.52pojie.cn/thread-395689-1-1.html res目录下资源文件在编译时会自动生成索引文件(R.java ), asset目录下的资源文件无需生成索引. 一般来说:使用C++游戏引擎的资源文件放在asset下 java开发中除音频和视频资源(放在raw或asset下),均放在res下. Dalvik字节码是什么? Dalvik是Google专门为Android设计的一个虚拟机. Dalvik VM是基于寄存器的,而JVM是基于栈的,Dal…
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57ad7a70eaed47bb2699e68e Dev Club 是一个交流移动开发技术,结交朋友,扩展人脉的社群,成员都是经过审核的移动开发工程师.每周都会举行嘉宾分享,话题讨论等活动. 本期,我们邀请了腾讯WXG Android开发工程师——张绍文,为大家分享<微信热补丁Tinker的实践演进之路>. 分享内容简介: Tinker 是微信官方的 Android 热补丁解决…
Bugly 技术干货系列内容主要涉及移动开发方向,是由 Bugly 邀请腾讯内部各位技术大咖,通过日常工作经验的总结以及感悟撰写而成,内容均属原创,转载请标明出处.在业内,Android 手机一直有着“越用越慢”的口碑.根据第三方的调研数据显示,有77%的 Android 手机用户承认自己曾遭遇过手机变慢的影响.他们不明白为什么购买之初“如丝般顺滑”的 Android 手机,在使用不到一年之后都会“卡顿”得让人抓狂!根据我们初步的测试数据,手机长期所使用产生的磁盘碎片可以使得磁盘的写入效率下降为…
本文作者:鲁可--腾讯SNG专项测试组 测试工程师 背景 Android QQ 在2016下半年连着好几个版本二灰 Crash 率都很高,如果说有新需求,一灰的 Crash 率高,还能找点理由,可是开发童鞋解过一灰的 Crash 单后,为啥二灰还有这么高的 Crash 率,我们还有覆盖全 SNG.不少外 BG 明星产品的终端稳定性测试工具 NewMonkey 随身版(NewMonkey系腾讯内部研发的测试工具,外部app有兴趣请点击这里填问卷调查申请使用)每天都在跑,更何况大多 Top Cras…
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/2MsEAR9pQfMr1Sfs7cPdWQ 导语 智能手机发展到今天已经有十几个年头,手机的软硬件都已经发生了翻天覆地的变化,特别是Android阵营,从一开始的一两百M到今天动辄4G,6G内存.然而大部分的开发者观看下自己的异常上报系统,还是会发现各种内存问题仍然层出不穷,各种OOM为crash率贡献不少.Android开发发展到今天也是已经比较成…
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57b58022433221be01499480 作者:张三华 前言 随着微信iOS客户端业务的增长,在数据库上遇到的性能瓶颈也逐渐凸显.在微信的卡顿监控系统上,数据库相关的卡顿不断上升.而在用户侧也逐渐能感知到这种卡顿,尤其是有大量群聊.联系人和消息收发的重度用户. 我们在对SQLite进行优化的过程中发现,靠单纯地修改SQLite的参数配置,已经不能彻底解决问题.因此从6.3…
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57b57f2a0703f7d31b9a3932 作者:赵丰 导语 iOS 程序能从网络获取数据.少量的 KV 类型数据可以直接写文件保存在 Disk 上,App 内部通过读写接口获取数据.稍微复杂一点的数据类型,也可以将数据格式化成 JSON 或 XML 方便保存,这些通用类型的增删查改方法也很容易获取和使用.这些解决方案在数据量在数百这一量级有着不错的表现,但对于大数据应用的…
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/FbiSLPxFdGqJ00WgpJ94yw 导语 精神哥前阵子去参加了好友小青在北京办的T沙龙,探讨移动端热更新相关的话题.Bugly 曾为大家介绍过不少腾讯内部的热更新的框架,正好这次看到了美团,去哪儿以及微博同学在应用热更新方面的实践. 上周为大家整理了<美团大众点评 Hybrid 化建设>,本周我们继续带来"去哪儿网 无线 iOS…
本文来自于腾讯bugly开发者社区,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/583b9e3ee8992c2c2df6e6ac 导语 早在去年10月份,facebook就发布了介绍redex的文章,这个据说可以直接对apk做处理,既提高启动性能,又可减少安装包的利器让安卓开发者们都心动不已.直到今年4月,redex终于开源了,我们也第一时间对redex做了研究(有观众可能要说我骗人,这都11月了怎么还第一时间呢?好把这个总结是拖了很久才写),虽然由于坑多,…
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/Ry-G0Nikh6m-h3ZVC2cLyQ 导语 2017年来了,新年开篇,就不跟大家聊技术啦,给大家分享一篇鹅厂技术总监在多年工作中总结出的教训和经验. 这篇文章自从在腾讯内部论坛发表后,精神哥每年都会拿出来重新研读一番,每次都有新的感悟和收获,所以强烈推荐给大家. 正文 资深程序员是团队中最强大的生产力,但往往被不合理的工作安排浪费掉.因此作为一个…
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/577e0acc896e9ebb6865f321 如果您有耐心看完这篇文章,您将懂得如何着手进行app的分析.追踪.注入等实用的破解技术,另外,通过“入侵”,将帮助您理解如何规避常见的安全漏洞,文章大纲: 简单介绍ios二进制文件结构与入侵的原理 介绍入侵常用的工具和方法,包括pc端和手机端 讲解黑客技术中的静态分析和动态分析法 通过一个简单的实例,来介绍如何综合运用砸壳.寻找注…
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/zctwM2Wf8c6_sxT_0yZvXg 导语 在iOS的发展历程上,涌现了很多动态化方案,有历史悠久的WaxPatch动态化方案,有远近闻名的JSPatch动态化方案.今天精神哥向大家介绍一款堪称"史上最疯狂"的iOS动态化方案--OCS. 本文来自腾讯 SNG - OCS团队 初窥OCS OCS是全新设计的iOS动态化方案.我们定义了…
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/9DJxipJaaBC8yC-buHgnTQ 作者简介: 曹少琨,微信移动客户端开发工程师,2014年加入腾讯,从事手Q跨平台移动服务框架 MSF 的开发及优化工作,2015 年转入微信终端基础开发组参与网络组件的开发及维护工作. 前言 mars 是微信官方使用 C++ 编写的业务性无关.平台性无关的终端基础组件,目前在微信 Android.iOS.Wi…
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/579083d1c9da73584b02587d 最近一个季度,我们都在为手Q家校群做重构优化,将原有那套问题不断的框架换掉.经过一些斟酌,决定使用react 进行重构.选择react,其实也主要是因为它具有下面的三大特性. React的特性 1.Learn once, write anywhere 学习React的好处就是,学了一遍之后,能够写web, node直出,以及nat…
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57ecdf2d98250b4631ae034b 最近半年以来,Android热补丁技术热潮继续爆发,各大公司相继推出自己的开源框架.Tinker在最近也顺利完成了公司的审核,并非常荣幸的成为github.com/Tencent上第一个正式公开的项目. 回顾这半年多的历程,这是一条跪着走完,坑坑不息之路.或许只有自己真正经历过,深入研究过, 才会真正的明白 热补丁不是请客吃饭 对…
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/577e16a7640ad7b4682c64a7 “8小时内拼工作,8小时外拼成长”这是大家共同的理想.除了每天忙于工作外,我们都希望能更多地区吸收领域内的新知识与新技能,从而走向人生巅峰. Dev Club 是一个交流移动开发技术,结交朋友,扩展人脉的社群,成员都是经过审核的移动开发工程师.每周都会举行嘉宾分享,话题讨论等活动. 上一期我们邀请了腾讯SNG工程师“王少鸣”分享了…
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57e3a3bc42eb88da6d4be143 作者:王赛 1. 前言 Android 系统安全愈发重要,像传统pc安全的可执行文件加固一样,应用加固是Android系统安全中非常重要的一环.目前Android 应用加固可以分为dex加固和Native加固,Native 加固的保护对象为 Native 层的 SO 文件,使用加壳.反调试.混淆.VM 等手段增加SO文件的反编译难…
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57a31921ac3a1fb613dd40f3 Android 不仅系统版本众多,机型众多,而且各个市场都各有各的政策和审核速度,每次发布一个版本对于开发同学来讲都是一种漫长的煎熬.相比于 iOS 两三天就能达到 80% 的覆盖速度而言,Android 应用版本升级至少需要两周才能达到 80% 的升级率,严重阻碍了版本迭代速度.也导致市场上 App 版本分散,处理 bug 和投…
导语 昨天上午,微信在广州举办了微信公开课Pro.于是,精神哥这两天的朋友圈被小龙的"八不做"刷屏了.小伙伴们可能不知道,下午,微信公开课专门开设了技术分论坛.在分论坛中,微信开源了跨平台的网络组件Mars. 之前Bugly也为大家介绍过Mars的一些相关模块的内容: 微信终端跨平台组件 mars 系列(一) - 高性能日志模块xlog 微信终端跨平台组件 mars 系列(二) - 信令传输超时设计 今天,微信的小伙伴和大家一起聊聊Mars的设计原则以及发展史. 背景 2012 年中,…
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/hnwj24xqrtOhcjEt_TaQ9w 作者:张三华 导语 精神哥最近发现, 很多开发者在 iOS10 上遇到了一类堆栈为nano_free字样的Crash,也有很多人向我们Bugly客服反馈遇到了这类问题,但并没有好的解决方案.正当大家都束手无策的时候,微信强大的技术团队针对这类Crash进行了深度研究,并提出了一个解决方案.原来微信也遇到了这…
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/ToYeT4Y4pzx0ii9Z92fo-Q 作者:刘永丽 导语 精神哥最近和团队中的开发同学聊天,看到很多开发同学对代码技能的提升都是有诉求的,只不过快速的业务节奏没有给他们太多停留的时间,在这种情况下如何给团队营造浓厚的工程师交流氛围呢? 方法有多种,目前最被认可或运用的方法莫过于CodeReview活动了. 那么 CodeReview到底能给团队…
本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/rNGD6SotKoO8frmxIU8-xw 本期 T 沙龙探讨了移动端热更新相关的话题.由于沙龙时间的限制,本期我们选取了美团的 Hybrid 化建设.去哪儿的跨平台 ListView 性能优化.微博 Android 端热更新踩过的坑话题.还期待热更新.热修复哪些话题?欢迎留言给我们.也欢迎报名参加 T 沙龙分享自己开发中的心得. Hybrid 是移动…
本文来自于腾讯bugly开发者社区,未经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/5809bb47cc5e52161640c5c8 Dev Club 是一个交流移动开发技术,结交朋友,扩展人脉的社群,成员都是经过审核的移动开发工程师.每周都会举行嘉宾分享,话题讨论等活动. 本期,我们邀请了 腾讯 TEG 技术工程师"文亚飞",为大家分享<深度学习在OCR中的应用>. 大家好,我是文亚飞,来自腾讯TEG,目前负责图像识别相关的工作.OCR(…