要分析崩溃日志,首先需要保留发布时的编译出来的.xcarchive文件.这个文件包含了.DSYM文件. 我一般的做法是,发布成功后,把这个文件.xcarchive直接提交到代码版本库对应的版本分支里,这样就不会搞丢了. 这个文件在哪呢?打开XCode->菜单Window->Organizer,在编译成功的文件上右键,就能打开了. 两种比较麻烦的方法. 第一种方法: 使用dwarfdump命令 dwarfdump --uuid xx.app.dSYM     用来得到app的UUID.dwarf…
http://blog.csdn.net/totogo2010/article/details/39892467 要分析崩溃日志,首先需要保留发布时的编译出来的.xcarchive文件.这个文件包含了.DSYM文件. 我一般的做法是,发布成功后,把这个文件.xcarchive直接提交到代码版本库对应的版本分支里,这样就不会搞丢了. 这个文件在哪呢?打开XCode->菜单Window->Organizer,在编译成功的文件上右键,就能打开了. 两种比较麻烦的方法. 第一种方法: 使用dwarfd…
源代码获取请到github:https://github.com/DrJia/AndroidLogCollector 已经做成sdk的形式,源代码已公开,源代码看不懂的请自行google. 假设想定制适应自己app的sdk请自行fork. AndroidLogCollector android app崩溃日志收集sdk 1.0 作者:贾博士 崩溃日志收集方法: 1.LogCollector是lib包,在须要加入崩溃日志sdk的project中导入此包. 2.导入lib后,在自己的project的…
iOS系统app崩溃日志手动符号化步骤: 1.在桌面建立一个crash文件夹,将symbolicatecrash工具..crash文件..dSYM文件放到该文件夹中 a.如何查询symbolicatecrash路径位置? 执行命令:find /Applications/Xcode.app -name symbolicatecrash -type f 然后将symbolicatecrash复制一份    例如:Xcode7.3的symbolicatecrash路径 /Applications/Xc…
为什么会存在这样的 问题,刚开始的时候我也搞不清楚,之前用极光的时候杀死程序后也会收到推送,但最近重新再去集成时就完全不好使了,这我就纳闷了,虽然Google在高版本上的android上面不建议线程守护,所以将进程有关的Service都杀掉了,但旧版本还是有这个功能的啊 !真尼玛,后来猜测估计是因为要适配6.0所以低版本的一些代码就删除了,造成低版本的也不行了,接下来分析一下这个问题. 首先我们把Android分为两类机型,一种是原生态的Android系统,比如Nexus,三星等机型,一种是深度…
前言 我们在开发App过程中,因为连接到控制台,所以遇到问题会很容易找到问题代码.但是对于线上的App出现Crash的时候,我们不可能通过这种方式,也不现实,所以我们只能通过收集Crash信息,来解决Bug.而这种收集Crash信息并且分析定位到具体代码的第三方SDK很多.但是今天我们来自己实现一下. 收集 Crash 信息 Apple提供了NSException类来帮助我们收集异常信息. NSException is used to implement exception handling a…
登陆友盟官网找到友盟统计,找到你iOS平台下你所属的APP(图1) 图1 点击进去会出现当日错误列表,选择你发生错误的日期(图2) 图2 我们可以看到,这一天中出现了两个错误,每个错误出现在不同的时间点,最多的,最严重的达到了18次,我们点击看一下这是个什么错误:(图3-图4) 图3 图4 在图4中我们可以得知 iPhone 6 的手机,iOS8.1.1的系统发生错误,然后我们主要看图3,图3是什么呢,一堆指针,完全看不懂啊,这会,我们就要借助工具帮我们翻译一下,到底那里出现了错误. 工具:dS…
​随着信息技术高速发展,移动互联几乎已成为了一种生活方式的代名词,在全民上网的数字热潮中,如何能最大程度保障产品服务的稳定性,提供良好的用户体验,是当前企业都需要思考和亟待解决的问题.App的应用性能稳定是良好用户体验中非常关键的一环,而现实情况却是应用崩溃.卡顿.加载缓慢.页面白屏等问题,频频出现在用户的真实体验之中,成为影响业务表现的直接杀手.为此,应用性能管理(APM)正在国内外蓬勃发展,被越来越多的企业所认可. 2020年,友盟+原移动分析U-App错误分析模块正式升级为U-APM应用性…
app集成友盟推送后就能接收推送消息,即使在进程被kill的情况下也能接收.这个因为友盟有长连互保,用户设备中任何一个集成过友盟推送的app打开,即使他的app没打开也能启动push service,收到推送.另外友盟的push service也有被杀死自启动的策略. 但是在有些手机上,强杀应用的话的确是会造成设备离线收不到消息,push service也会被杀死.这是由于一些手机系统是定制化的系统,友盟在这些定制化的系统上不能百分之百保证Push service不被杀死,所以就会出现app进程…
IOS 友盟使用详解 这篇博客将会详细介绍友盟的使用,希望对博友们有所帮助. 首先我们在浏览器上搜索友盟. 在这里我们选择官网这个,进去友盟官网后我们按照下图进行选择. 接下来选择如下图 Next 这样我们便进入到了帮助文档 如果还没有友盟账号那么我们就需要注册一下了(点击图片中的注册即可) 注册成功并且登陆后我们需要按照操作获取Appkey 操作如图 NEXT 成功获取Appkey(复制下来,接下来会用到) 返回帮助文档 接下来是下载(安装)SDK,我么可以按照图片中的两种方法操作. 我选择了…
==========2016-01-29 更新=====刘成利 email:liu_cheng_li@qq.com========== 自己成功集成到公司的项目前,也已做了测试好的友盟分享demo 目前我只用了分享到:新浪微博,微信好友,微信朋友圈,QQ好友,QQ空间,短信这六个. 我这是自定义分享UI,友盟自带的也可以,自定义的UI界面更好看个性.…
之前分享过集成友盟推送的方法, 需要的朋友可以查看一下链接: http://www.cnblogs.com/zhouxihi/p/6533058.html 一般开发中我们比较多使用的三方有友盟推送, 友盟分享, 友盟登录, 微信支付, 支付宝支付, 融云等等...等等... 光集成一个友盟推送就要好几十行代码, 如果多集成几个AppDelegate就会变得臃肿不堪, 也降低了可读性 为了解决这个问题, 目前想到以Category的方式给AppDelegate添加新的类别去完成这些三方集成 先以友…
问题情形 本地NodeJS应用使用Egg脚手架构建,本地运行测试完全没有问题,发布后App Service后不能运行.通过登录到kudu后(https://<your web site>.scm.chinacloudsites.cn)后,在日志中发现找不到一个文件或路径的错误.通过在kudu的CMD窗口执行npm start命令,发现错误是一致,怀疑是对Egg中某个框架的不支持. 详细日志 Application has thrown an uncaught exception and is…
作为一名应用开发者,你是否有过如下经历?   为确保你的应用正确无误,在将其提交到应用商店之前,你必定进行了大量的测试工作.它在你的设备上也运行得很好,但是,上了应用商店后,还是有用户抱怨会闪退 !   如果你跟我一样是个完美主义者,你肯定想将应用做到尽善尽美.于是你打开代码准备修复闪退的问题……但是,从何处着手呢?   这时iOS崩溃日志派上用场了.在大多数情况下,你能从中了解到关于闪退的详尽.有用的信息.   通过本教程,你将学习到一些常见的崩溃日志案例,以及如何从开发设备和iTunes C…
让用户数据动起来——给app增加运营 一.初识友盟 友盟大家都听说过,在给app集成友盟之前对友盟的认识没有那么深刻.用了友盟之后,才发现友盟很强大. 集成友盟能够获取那些数据呢? 用户的基本信息:比如用户的数量.活跃用户的占比.用户地域的分析.用户增长速度等等. 用户的行为统计:用户对某模块的使用情况,对某个按钮的点击次数,按数量和值统计用户行为.让开发者更加清晰的分析用户行为,更清楚的了解自己,所谓知己知彼. app异常错误统计:monkey测试跑了一个礼拜都没有跑出来问题,用了友盟之后一个…
之前做app推送主要是集成友盟SDK,在程序获取deviceToken时,老是提示如下错误: Error Domain=NSCocoaErrorDomain Code=3000 "未找到应用程序的“aps-environment”的权利字符串" UserInfo=0x14dc69e0 {NSLocalizedDescription=未找到应用程序的“aps-environment”的权利字符串} 打印获取deviceToken错误代码 - (void)application:(UIAp…
  在做的项目中,用到了友盟的组件,在没有禁用错误日志上传之前,收集了一些错误日志. 有一些朋友看到了错误日志,却不知道怎么定位到程序的的代码中,实际上,这一步是非常的简单.友盟没有集成.dSYM文件,只能显示错误的地址,无法显示详细的信息. 准备步骤,1,友盟错误日志 *** -[__NSArrayM objectAtIndex:]: index 20 beyond bounds [0 .. 19] (null) ( "0 CoreFoundation 0x371308bf __excepti…
1.友盟错误信息 Invalid update: invalid number of rows . The number of rows contained ) must be equal to the number of rows contained ), plus or minus the number of rows inserted or deleted inserted, deleted) and plus or minus the number of rows moved into…
一.去微信开放平台的管理中心申请移动设备的审核(需进行开发者资质认证,每年300元) 1.获取应用的签名 2.在微信开放平台申请移动应用 两个注意点:①签名要填对 ②应用的包名要写对(tips: com.**.**) 应用通过审核完成后是这样的: 在应用通过审核后,拿到了AppId和AppSecret,这样我们具备了和微信授权登录的基本条件. 二.导入友盟的第三方登录的jar包和资源 jar需要4个: httpmime-4.1.3.jar SocialSDK_WeiXin_1.jar Socia…
这几天公司的运营部门要求添加流量统计功能,集成了友盟的插件,中间遇到很多的问题,在这里说明记录一下,为遇到相同问题的朋友们减少麻烦 问题一.插件的使用直接将友盟sdk系在放置到项目根目录下plugins文件夹下,并进行配置,主要需要配置plugins下的两个文件 1.android.json 在dependent_plugins下添加 "Umeng": { "PACKAGE_NAME": "你的appid" } 2.fetch.json 在其末尾…
setContentView(R.layout.activity_splash); //Bmob SDK初始化--只需要这一段代码即可完成初始化 //请到Bmob官网(http://www.bmob.cn/)申请ApplicationId,具体地址:http://docs.bmob.cn/android/faststart/index.html?menukey=fast_start&key=start_android Bmob.initialize(this, Constant.BMOB_APP…
公司的项目中集成了UM的统计功能,UM统计可以统计app的用户新增,版本分布,日志崩溃等信息,打开错误分析按钮,则可能会看到很多崩溃的日志信息 选择编辑可以选择更多的版本号 点击列表中的一个崩溃日志,进入可以看到内容大致如下 针对这样的内容,我表示一脸懵逼,这种方式展现的日志无法直接看懂,当然也可以通过一些方法来进行解析具体参考我的文章iOS crash日志分析,我们这里提供另外一种方式来解析崩溃日志,我们今天的主角dSYMTools 使用dSYMTools需要注意以下几点 * 找到dSYM文件…
http://bbs.umeng.com/thread-6908-1-1.html 错误分析功能说明1.概述 错误分析是友盟为移动开发者提供的Crash收集和分析工具,帮助开发者监测App在移动设备上的运行状况,及时发现并解决错误,提升App的稳定性. 新版错误分析的主要功能点如下:(1) 通过友盟后台网站管理错误内容.您可以按照版本.UUID.操作系统.机型筛选错误; 还可以根据不同的条件为错误添加标签,便于快速分类及查找错误.(2) 通过友盟错误分析工具定位错误.您可以在友盟后台网站批量导出…
什么是MVP呢,简单来说就是将view层和逻辑完全独立出来,让逻辑和显示完全独立.本例中就是采用了这种模式,让activity作为view层,activity中涉及了适配器,所以这里尝试让适配器作为P层来进行逻辑处理.以后可能要考虑用多个p来做逻辑处理.总之,我们先来分析下如何用MVP得思路来分析这个工程吧~ 一.界面 界面这个环节有很多细节需要扣,之前我写过一篇文章就是讲这个界面实现的,推荐先去看看:http://www.cnblogs.com/tianzhijiexian/p/4295195…
下面我来讲解一下友盟iOS的推送配置,其实友盟只是一个示例,换做其余的第三方推送服务也会适用,只是第三方的后面服务变了而已. iOS推送(包括真机调试)所需要的步骤和文件如下: 备注:这里我将省略掉一些操作界面,如后台登录等: 一.在Identifiers中新建一个带Push Notifications服务的App IDs: 1.进入添加的页面 2.填写App ID Description,这里我填写了”pushapp” 3.填写App ID Suffix,这里我填写了“com.xxx.push…
前言 现在几乎所有的app都带有分享功能,第一为了更好地推广自己的产品,第二作为使用者也能及时的把自己觉得好的文章,话题,app分享到社交平台供大家一起学习和使用.开发中虽然android系统自带分享功能,可以直接调用.但是系统的功能和平台往往不是很符合客户需求和人性化设计.所以很多第三方分享平台应运而生.今天重点学习一下友盟的社会化组件分享功能的实现. 声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com/wangshuaiandroid/   正文…
Xamarin.Android 绑定友盟社会化分享组件 最近在开发博客园Android App的时候需要用到友盟社会化分享组件,在github上搜了一下都没有找到最新版本绑定好的项目,就自己动手来绑定一个最新版本的友盟社会化分享组件(文章发布时的最新版为v6.4.3). 下载友盟Android版SDK 友盟社会化分享组件 v6.4.3 本文只使用到微信,QQ,新浪微博,故只下载了精简版 创建绑定项目 创建步骤如图所示: 添加友盟SDK的jar包到绑定项目的Jars文件夹下 添加下载的友盟SDK项…
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 这里只是记录下集成友盟统计SDK以及简单配置多渠道打包的步骤.所以1.该Demo不能运行:2.配置多渠道打包只是一种简单的写法,具体复杂写法请阅读参考资料. 使用步骤 一.项目组织结构图 注意事项: 1.  导入类文件后需要change包名以及重新import R文件路径 2.  Values目录下的文件(strings.xml.dimens.xml.colors.xml等),如果项目中存在,则复制里面的内容,不要整个覆盖 二.…
最近为App开发消息推送功能,这里我们采用了友盟的消息推送服务,但其后台简陋,可定制化程度低,所以决定接入服务器端API,在自己的服务器上部署一套推送服务. 其中涉及到很多问题,首先要解决的就是与友盟服务器的加密验证问题. 官方示例 友盟官方的加密算法使用Python实现的,核心是MD5算法,如下: import hashlib import json def md5(s): print s m = hashlib.md5(s) return m.hexdigest() appkey = '你的…
1.增量升级的原理 增量更新的原理就是将本地apk与服务器端最新版本比对,并得到差异包.比如现在的版本是1.1.4,大小是7.2M,新版本是1.1.5.大小是7.3M.我们发现两个版本只有0.1M的差异,这样我们如果采用增量升级生成0.1M左右的差异包,这样用户只需要下载0.1M的差异包进行升级而不需要重新下载7.3M的新版本了. 2.以往增量升级的实现 首先要有服务端来生成差异包,这一步使用bsdiff(二进制差分工具)来生成老版本和新版本的差异包,再提供给应用下载差异包.应用端则是封装bsp…