Umeng Push - litonghui/TechBlog GitHub Wiki
Android应用在接Umeng Push SDK 中遇到一个Toast 提示,遇到一个奔溃,具体如下:
一,PushSDK 3.0遇到Toast提示:mPushAgent.register should be called in both main process and channel process!
解决方案:PushSDK 3.0初始化时,需在Application类的onCreate中调用mPushAgent.register方法来进行注册。请勿在调用register方法时做进程判断处理,主进程和channel进程(推送进程)均需要调用register才能保证长连接的正确建立。
二,奔溃信息
E/AndroidRuntime( 5451): java.lang.RuntimeException: Unable to create application com.androidtool.Application: java.lang.NullPointerException: println needs a message
E/AndroidRuntime( 5451): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4615)
E/AndroidRuntime( 5451): at android.app.ActivityThread.access$1800(ActivityThread.java:139)
E/AndroidRuntime( 5451): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1315)
E/AndroidRuntime( 5451): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime( 5451): at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime( 5451): at android.app.ActivityThread.main(ActivityThread.java:5294)
E/AndroidRuntime( 5451): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 5451): at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime( 5451): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864)
E/AndroidRuntime( 5451): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:680)
E/AndroidRuntime( 5451): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 5451): Caused by: java.lang.NullPointerException: println needs a message
E/AndroidRuntime( 5451): at android.util.Log.println_native(Native Method)
E/AndroidRuntime( 5451): at android.util.Log.e(Log.java:245)
E/AndroidRuntime( 5451): at com.umeng.message.a.a.b(UmLog.java:30)
E/AndroidRuntime( 5451): at com.umeng.message.h.u(PushAgent.java:159)
E/AndroidRuntime( 5451): at com.umeng.message.h.a(PushAgent.java:254)
E/AndroidRuntime( 5451): at com.androidtool.push.PushHandler.a(PushHandler.java:48)
解决方案:增加混淆配置
-dontwarn com.taobao.**
-dontwarn anet.channel.**
-dontwarn anetwork.channel.**
-dontwarn org.android.**
-dontwarn org.apache.thrift.**
-dontwarn com.xiaomi.**
-dontwarn com.huawei.**
-keepattributes *Annotation*
-keep class com.taobao.** {*;}
-keep class org.android.** {*;}
-keep class anet.channel.** {*;}
-keep class com.umeng.** {*;}
-keep class com.xiaomi.** {*;}
-keep class com.huawei.** {*;}
-keep class org.apache.thrift.** {*;}
-keep class com.alibaba.sdk.android.**{*;}
-keep class com.ut.**{*;}
-keep class com.ta.**{*;}
-keep public class **.R$*{
public static final int *;
}