自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 分享一款移动平台(Adroid,IOS)崩溃卡顿的收集分析利器(网易云捕)

这段时间公司在做一个移动平台APP的开发,贴向于媒体互娱方面的,相较于以往开发过的app,这个的用户量可以说要大几个量级的,加上项目排期比较赶,导致开发中出了不少这样那样的问题,严重的直接导致线上APP直接跑崩了,因为这个事,项目经理没少发脾气,我们也只能屁颠屁颠的闷头去定位,有时候一个莫名的java.lang.NoClassDefFoundError线上问题,需要花费很大的精力才可以定位处理,定...

2019-04-26 11:30:21 382 3

原创 iOS APP的加固保护原理

原文: iOS APP的加固保护原理世所公认,iOS系统安全性非常高,很少出现漏洞,几乎不会中毒的情况。然而随着各种iOS安全隐患的频频出现,人们逐渐认识到,iOS跟Android一样也面临严重的安全问题。苹果宣称所有的iPhone都很安全,不会被恶意软件攻击,其实这只不过苹果封闭式的系统管理能够及时处理漏洞罢了,这也正是苹果不敢开放的原因。我们已经习惯,每个新的iOS系统出来没多久,就会有大牛找...

2016-12-21 18:53:32 503

原创 ReentrantLock及AQS浅谈

AQS全称AbstractQueuedSynchronizer,是java并发包中的一个类,该类更像是一个框架,提供了一些模板方法供子类实现,从而实现了不同的同步器,如下图所示。ReentrantLock,ReentrantReadWriteLock,ThreadPoolExecutor这些常见类都使用了AQS。

2016-09-30 16:37:10 348

原创 聊聊从iOS固件提取系统库符号

当程序发生崩溃并有机会获取到崩溃堆栈时,还原崩溃堆栈从而定位错误显得非常重要。用户符号的还原非常简单,因为在打包 APP 时,会生成对应的符号文件(以 .dSYM 结尾)。而对于系统符号,Apple 并没有提供对应的符号文件下载,所以需要自己解析。本文就简单聊聊从 iOS 固件获取系统库符号的方法。

2016-09-23 10:01:59 1870

原创 Android自动化测试工具实现简述

自动化测试在产品开发和测试中都有着非常重要的作用。在产品开发阶段,可靠又重复性地运行以确保没有引进回归问题;在产品测试阶段,可以节省人力成本和时间成本,并能保证更大范围的覆盖。Android自动化测试工具同样可以节省不少人力和时间成本,对其研究和实现对于提高测试效率具有一定的意义。目前市面上也有不少Android自动化测试工具,本人在现有工具的基础上,加上自己的理解和实践向大家介绍自动化测试工具的原理和实现。

2016-09-14 16:30:06 1564

原创 高手谈Android NDK C++ RTTI 分析

本文意在说明Android NDK 在实现C++ RTTI时的相关数据结构,并从汇编角度分析其内存布局,以帮助理解RTTI的实现原理,同时,分析在逆向过程中如何利用RTTI恢复C++类名信息。

2016-09-08 11:33:46 1528

原创 RocketMQ源码阅读

RocketMQ 是一款开源的消息中间件,采用Java实现,设计思想来自于Kafka(Scala实现),在具体设计时体现了自己的选择和需求,具体差别可以看RocketMQ与Kafka对比。

2016-08-31 10:40:35 337

原创 iOS崩溃堆栈信息的符号化解析

最近一段时间,在iOS开发调试过程中以及上线之后,程序经常会出现崩溃的问题。简单的崩溃还好说,复杂的崩溃就需要我们通过解析Crash文件来分析了,解析Crash文件在iOS开发中是比较常见的。但在跟开发者沟通过程中,云捕小编发觉大家对iOS的应用符号表还不是很清楚。现在网上有很多关于解析崩溃堆栈信息的符号化的博客,但是大多质量参差不齐,或者有些细节没有注意到。今天总结一下对iOS崩溃符号化的使用和技巧

2016-08-24 10:59:09 3921 1

原创 Android NDK编译选项设置

在Android NDK开发中,有两个重要的文件:Android.mk和Application.mk,各尽其责,指导编译器如何编译程序,并决定编译结果是什么。本文将详细说明几个常见的NDK选项的配置,帮助大家理解相应的配置选项。

2016-08-17 10:18:00 11322

原创 【iOS系列】聊聊 "-ObjC" 的故事

"民之失德,乾糇以愆;他山之石,可以攻玉。"   - 《诗经》       在开发 iOS 应用时,可能遇见这样的情况:你想实现的某种功能(比如崩溃收集),已经有成熟的产品提供,可行的方案就是集成这个使用了很久,且有专业人员维护,最重要的是“免费”的产品。一番折腾之后,运行时有可能出现"selector not recognized"错误,最后发现是少了如下的配置(Build Se

2016-08-01 18:32:03 7518 1

原创 网易云捕1.5版本已经上线,重磅功能来袭

云捕1.5版本已上线。         (未升级SDK的开发者,请您更新SDK最新版本号:Android 3.6.15,iOS 1.1.5,新版本在保证稳定性基础上增加了新功能)        具体更新如下:新增功能:ANR/卡顿信息获取       ANR/卡顿数据,包括ANR/卡顿次数、ANR/卡顿率、影响用户、使用用户数。 卡顿列表展示详情。可点击查看具体情况

2016-07-22 11:29:20 667

原创 不需要权限的获取蓝牙mac地址方法

很多手机或者手机助手都会有拦截APP权限的功能,如果权限被拦截,就不能正常获取到需要的信息。不过系统对权限的控制其实并不完美,还是有方法可以绕过的。这里以蓝牙mac地址做为示例,分享一种绕过系统权限控制的方法。

2016-07-19 12:17:19 3031

原创 Android Crash解决方案之java.lang.UnsatisfiedLinkError

该错误类型较多,以下进行分类: 1、java.lang.UnsatisfiedLinkError : dlopen failed: library //dlopen打开失败 2、java.lang.UnsatisfiedLinkError :findLibrary returned null //找不到library 3、java.lang.UnsatisfiedLinkError : Na...

2016-07-13 10:57:00 414

原创 Android Crash解决方案之java.lang.UnsatisfiedLinkError

该错误类型较多,以下进行分类:1、java.lang.UnsatisfiedLinkError : dlopen failed: library //dlopen打开失败2、java.lang.UnsatisfiedLinkError :findLibrary returned null //找不到library3、java.lang.UnsatisfiedLinkError

2016-07-13 10:55:05 6928

原创 Android快速批量多渠道包的“蛋生”

对于安卓程序猿朋友来说,每当发布新版本的APP,均会分发到各大应用市场,比如腾讯应用宝,豌豆荚和360手机助手等。为了让程序猿同志们更好的区分不同的应用市场,掌握各市场APP发展状况,为了更多体现世界对程序猿的关爱,我们的多渠道包诞生啦。                                                                         一、An

2016-07-11 11:35:37 387

原创 Android Crash解决方案之android.view.WindowManager$BadTokenException

android.view.WindowManager$BadTokenException的解决方法

2016-07-05 10:27:42 26227 1

原创 中国互联网大会--------网易云捕助力产品打造高品质APP

6月21-23日,由中国互联网协会主办的2016(第十五届)中国互联网大会在北京国际会议中心举行。本届大会以“繁荣网络经济,建设网络强国”为主题,聚焦“分享、融创、协同、生态”四个关键词,呈现经济发展的“新业态、新动能、新体验”。                 在6月22日举办的APP应用创新峰会上,网易云技术总监卓辉为与会者深入分析了移动APP质量现状及其解决办法。      

2016-06-28 09:58:29 568

转载 Android 加载 SO 库 UnsatisfiedLinkError 错误的原因及解决方案

Android 应用开发者应该对 UnsatisfiedLinkError 这种类型的错误比较熟悉了,这个问题一直困扰着广大的开发者,那么有没有想过有可能你什么都没做错,也会出现这个问题呢?我们在 Android 应用开发测试过程中曾经碰到过这样的案例,apk 在某机型上安装完成之后运行即崩溃,报错 UnsatisfiedLinkError。java.lang.Unsatisf

2016-06-07 18:58:23 9287

原创 如何分析、定位Android Native Crash

出于执行效率、业务安全、复用已有代码的需求,目前市场上越来越多的 Android App 采用 C/C++ 来实现其关键逻辑。C/C++ 有内存管理灵活、与 linux 底层联系更紧密、多种编程范式等特点,但也正是由于这些特点,使得普通开发人员在使用 C/C++ 开发时,更容易出让进程直接崩溃的 bug。所以能分析 C/C++ 崩溃日志并能从日志中分析出原因,成为 Android 开发人员一项必备

2016-06-07 18:55:31 7716

提示
确定要删除当前文章?
取消 删除