sensorsdata/sa-sdk-android

AutoTrack时SensorsDataAPI.sharedInstance 为空

Closed this issue · 1 comments

x014 commented

Android Studio 3.0.1
gradle 4.1

使用'com.sensorsdata.analytics.android:android-gradle-plugin2:1.0.3'
// 初始化 SDK SensorsDataAPI.sharedInstance( this, // 传入 Context SA_SERVER_URL, // 数据接收的 URL SA_CONFIGURE_URL, SA_DEBUG_MODE); // Debug 模式选项 List<SensorsDataAPI.AutoTrackEventType> eventTypeList = new ArrayList<>(); eventTypeList.add(SensorsDataAPI.AutoTrackEventType.APP_START); eventTypeList.add(SensorsDataAPI.AutoTrackEventType.APP_END); eventTypeList.add(SensorsDataAPI.AutoTrackEventType.APP_VIEW_SCREEN); eventTypeList.add(SensorsDataAPI.AutoTrackEventType.APP_CLICK); SensorsDataAPI.sharedInstance(this).enableAutoTrack(eventTypeList);

在按钮点击时报出
03-30 14:50:09.580 31473-31473/com.demo.sensorsdemo W/System.err: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean com.sensorsdata.analytics.android.sdk.SensorsDataAPI.isAutoTrackEnabled()' on a null object reference 03-30 14:50:09.581 31473-31473/com.demo.sensorsdemo W/System.err: at com.sensorsdata.analytics.android.sdk.aop.ViewOnClickAppClick.onAppClick(ViewOnClickAppClick.java:46) 03-30 14:50:09.582 31473-31473/com.demo.sensorsdemo W/System.err: at com.sensorsdata.analytics.android.sdk.SensorsDataRuntimeBridge.onViewOnClick(SensorsDataRuntimeBridge.java:382) 03-30 14:50:09.582 31473-31473/com.demo.sensorsdemo W/System.err: at java.lang.reflect.Method.invoke(Native Method) 03-30 14:50:09.582 31473-31473/com.demo.sensorsdemo W/System.err: at com.sensorsdata.analytics.android.runtime.AopUtil.sendTrackEventToSDK(AopUtil.java:117) 03-30 14:50:09.583 31473-31473/com.demo.sensorsdemo W/System.err: at com.sensorsdata.analytics.android.runtime.ViewOnClickListenerAspectj.onViewClickAOP(ViewOnClickListenerAspectj.java:36) 03-30 14:50:09.583 31473-31473/com.demo.sensorsdemo W/System.err: at com.demo.sensorsdemo.MainActivity$2.onClick(MainActivity.java:35) 03-30 14:50:09.583 31473-31473/com.demo.sensorsdemo W/System.err: at android.view.View.performClick(View.java:6291) 03-30 14:50:09.583 31473-31473/com.demo.sensorsdemo W/System.err: at android.view.View$PerformClick.run(View.java:24931) 03-30 14:50:09.584 31473-31473/com.demo.sensorsdemo W/System.err: at android.os.Handler.handleCallback(Handler.java:808) 03-30 14:50:09.584 31473-31473/com.demo.sensorsdemo W/System.err: at android.os.Handler.dispatchMessage(Handler.java:101) 03-30 14:50:09.584 31473-31473/com.demo.sensorsdemo W/System.err: at android.os.Looper.loop(Looper.java:166) 03-30 14:50:09.585 31473-31473/com.demo.sensorsdemo W/System.err: at android.app.ActivityThread.main(ActivityThread.java:7406) 03-30 14:50:09.585 31473-31473/com.demo.sensorsdemo W/System.err: at java.lang.reflect.Method.invoke(Native Method) 03-30 14:50:09.585 31473-31473/com.demo.sensorsdemo W/System.err: at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245) 03-30 14:50:09.586 31473-31473/com.demo.sensorsdemo W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:926)

x014 commented

不好意思。是Application没调初始化。调用后就没问题了。