【友盟+】开发者社区

Android统计分析常见的集成问题

TTTA3 发表于 2016-8-22 09:11:45 |

TTTA3
TTTA3 发表于 2014-11-25 15:13:23 | 显示全部楼层 |阅读模式

友盟运营同学通过与无数个身经百战的开发者交流总结了以下一些最常见的开发问题,希望遇到相同问题的同学看到此贴能提高集成效率,早日发布app,app用户暴涨~
其他问题欢迎跟帖补充~


Q:混淆后出错(为什么用proguard混淆后,友盟AndroidSDK的一些功能不可用?)
A:如果您的应用使用了混淆, 请添加
-keepclassmembers class * {
   public <init>(org.json.JSONObject);
}

这是由于SDK中的部分代码使用反射来调用构造函数, 如果被混淆掉, 在运行时会提示"NoSuchMethod"错误。 另外,由于SDK需要引用导入工程的资源文件,通过了反射机制得到资源引用文件R.java,但是在开发者通过proguard等混淆/优化工具处理 apk时,proguard可能会将R.java删除,如果遇到这个问题,请在proguard配置文件中添加keep命令如:
-keep public class [您的应用包名].R$*{
public static final int *;
}

把[您的应用包名] 替换成您自己的包名,如com.yourcompany.example。如果您使用5.0.0及以上版本的SDK,请添加如下命令:
-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

如果您使用了双向反馈功能,还需要添加下面代码,以免我们自定义的UI被混淆:
-keep public class com.umeng.fb.ui.ThreadView {
}



Q:为什么使用TabHost,ActivityGroup时会出现启动次数变多的情况?
A:TabHost和ActivityGroup中有Activity之间有包含关系,如果同时在父和子Activity中都调用了onPause和 onResume方法的话,就会出现重复调用的情况,从而出现统计启动次数不准确的情况,这时可以选择要么只在子activity中要么只在父 activity中添加这两个方法的方式解决问题。同样在有继承关系的Activity中也不要在父类和子类中同时调用。



Q:android如何输出/关闭logcat日志?
A:如您集成sdk后发现有任何的异常,均可以通过logcat日志的提示来判断问题原因,输出日志的方法是在程序入口的activity中添加代码:MobclickAgent.setDebugMode(true); 同理关闭日志的方法是将此代码设置为:MobclickAgent.setDebugMode(false); 友盟相关log的tag是MobclickAgent



Q:Android应用如何关闭和打开错误报告功能?
A:Android统计默认自带错误报告功能,从V5.2.2版本开始,可以使用setCatchUncaughtExceptions 方法关闭错误报告。




Q:Android应用为什么有活跃用户却没有使用时长?
A:有可能是集成问题导致的。比如在程序关闭的时候杀死进程,但是没有调用 MobclickAgent.onKillProcess 方法,就会导致程序的时长统计不到。




Q:为什么我在Eclipse中导入友盟 SDK提供的example 工程无法编译?
A:友盟Android SDK 提供的example工程在Eclipse里面导入即可用。如果您遇到编译出错的问题, 有下面几种可能:
1. Eclipse设置使用的编码不是UTF-8。 我们的example工程使用的编码是UTF-8。由于example为便于您的理解,使用了中文代码注释。如果您是在Windows平台上使用 Eclipse, 默认为GBK。 解决方案:exampel工程 -> 右键 -> 属性 -> 资源(Resource) -> Text file encoding -> UTF-8 . 2. 依赖(dependency)冲突。example 工程是包含对 统计分析, 应用联盟,广告,反馈,自动更新的demo, ./libs/umeng-sdk.jar文件包含所有所需要的包。 您不需要另外添加额外的包。在运行之前, 请确保 ADT插件升级到v17 之后的版本。 否则会有问题, 详细请参考:Android项目的依赖关系


推荐阅读:Android 代码混淆之后,统计的消息定位不准确
ios统计和android可以用同一个appkey吗
Android启动次数是怎么定义的?
如何在代码中设置appkey和channelId






上一篇:SIGSEGV TXAppidConvert10IsMQQAppId 这种崩溃信息大伙有遇到吗
下一篇:iOS统计分析常见的集成问题





JeeseZh
JeeseZh 发表于 2016-8-22 09:11:45 | 显示全部楼层
集成错误统计出现这个异常:
java.lang.NullPointerException: Attempt to invoke virtual method 'void u.aly.m.c()' on a null object reference:  [Exception in onAppCrash]
08-22 09:06:53.351 10737-10737/com.bagevent E/MobclickAgent:     at  com.umeng.analytics.d.a(InternalAgent.java:306)
08-22 09:06:53.351 10737-10737/com.bagevent E/MobclickAgent:     at  u.aly.af.a(CrashHandler.java:43)
08-22 09:06:53.351 10737-10737/com.bagevent E/MobclickAgent:     at  u.aly.af.uncaughtException(CrashHandler.java:34)
08-22 09:06:53.351 10737-10737/com.bagevent E/MobclickAgent:     at  java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
08-22 09:06:53.351 10737-10737/com.bagevent E/MobclickAgent:     at  java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)
高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

发表主题

精彩推荐

获3千多支持者,小派8K众筹已突破200万美金
众筹链接 htt.ps://w.ww.ki.ck.start.er.c.om/p.roje.cts/p.imax8.kvr/pi.max-th.e-wor.lds-fi.rst-8.k-vr-
利优 - 一家专注购物的app
利优是以一卡通式异业联盟为核心的跨领域多元化的O2O全新商业模式。内容涵盖一卡通式异业联盟、智能超市、
转发并扫二维码!裁图给我领红包!求扩散!

关注我们

新浪微博
微信

欢迎关注友盟官方微博微信!

在线客服
返回顶部 返回列表