如果我实施谷歌分析,活动就会崩溃(com.google.android.gms:play services analytics:10.0.1)
我实现了google analytics,在活动中我实例化了一个类,当我打开它时它会崩溃。。。我跟着火车走 在我的成绩档案中如果我实施谷歌分析,活动就会崩溃(com.google.android.gms:play services analytics:10.0.1),android,android-studio,google-analytics,Android,Android Studio,Google Analytics,我实现了google analytics,在活动中我实例化了一个类,当我打开它时它会崩溃。。。我跟着火车走 在我的成绩档案中 compile 'com.google.android.gms:play-services-analytics:10.0.1' package website.copyandpaste.bottombarnavigationwithnavigationdrawer; import android.app.Application; import com.google.
compile 'com.google.android.gms:play-services-analytics:10.0.1'
package website.copyandpaste.bottombarnavigationwithnavigationdrawer;
import android.app.Application;
import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.Tracker;
/**
* This is a subclass of {@link Application} used to provide shared objects for this app, such as
* the {@link Tracker}.
*/
public class AnalyticsApplication extends Application {
private static GoogleAnalytics sAnalytics;
private static Tracker sTracker;
@Override
public void onCreate() {
super.onCreate();
sAnalytics = GoogleAnalytics.getInstance(this);
}
/**
* Gets the default {@link Tracker} for this {@link Application}.
* @return tracker
*/
synchronized public Tracker getDefaultTracker() {
// To enable debug logging use: adb shell setprop log.tag.GAv4 DEBUG
if (sTracker == null) {
sTracker = sAnalytics.newTracker(R.xml.global_tracker);
}
return sTracker;
}
}
AnalyticsApplication application = (AnalyticsApplication) getApplication();
mTracker = application.getDefaultTracker();
// [START screen_view_hit]
Log.i(TAG, "Setting screen name: " + "Main");
mTracker.setScreenName("Image~" + "Main");
mTracker.send(new HitBuilders.ScreenViewBuilder().build());
// [END screen_view_hit]
分析应用程序文件
compile 'com.google.android.gms:play-services-analytics:10.0.1'
package website.copyandpaste.bottombarnavigationwithnavigationdrawer;
import android.app.Application;
import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.Tracker;
/**
* This is a subclass of {@link Application} used to provide shared objects for this app, such as
* the {@link Tracker}.
*/
public class AnalyticsApplication extends Application {
private static GoogleAnalytics sAnalytics;
private static Tracker sTracker;
@Override
public void onCreate() {
super.onCreate();
sAnalytics = GoogleAnalytics.getInstance(this);
}
/**
* Gets the default {@link Tracker} for this {@link Application}.
* @return tracker
*/
synchronized public Tracker getDefaultTracker() {
// To enable debug logging use: adb shell setprop log.tag.GAv4 DEBUG
if (sTracker == null) {
sTracker = sAnalytics.newTracker(R.xml.global_tracker);
}
return sTracker;
}
}
AnalyticsApplication application = (AnalyticsApplication) getApplication();
mTracker = application.getDefaultTracker();
// [START screen_view_hit]
Log.i(TAG, "Setting screen name: " + "Main");
mTracker.setScreenName("Image~" + "Main");
mTracker.send(new HitBuilders.ScreenViewBuilder().build());
// [END screen_view_hit]
我还添加了google-services.json文件
在我的活动文件中
compile 'com.google.android.gms:play-services-analytics:10.0.1'
package website.copyandpaste.bottombarnavigationwithnavigationdrawer;
import android.app.Application;
import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.Tracker;
/**
* This is a subclass of {@link Application} used to provide shared objects for this app, such as
* the {@link Tracker}.
*/
public class AnalyticsApplication extends Application {
private static GoogleAnalytics sAnalytics;
private static Tracker sTracker;
@Override
public void onCreate() {
super.onCreate();
sAnalytics = GoogleAnalytics.getInstance(this);
}
/**
* Gets the default {@link Tracker} for this {@link Application}.
* @return tracker
*/
synchronized public Tracker getDefaultTracker() {
// To enable debug logging use: adb shell setprop log.tag.GAv4 DEBUG
if (sTracker == null) {
sTracker = sAnalytics.newTracker(R.xml.global_tracker);
}
return sTracker;
}
}
AnalyticsApplication application = (AnalyticsApplication) getApplication();
mTracker = application.getDefaultTracker();
// [START screen_view_hit]
Log.i(TAG, "Setting screen name: " + "Main");
mTracker.setScreenName("Image~" + "Main");
mTracker.send(new HitBuilders.ScreenViewBuilder().build());
// [END screen_view_hit]
来自android监视器的错误
Caused by: java.lang.ClassCastException: android.app.Application cannot be cast to website.copyandpaste.bottombarnavigationwithnavigationdrawer.AnalyticsApplication
at website.copyandpaste.bottombarnavigationwithnavigationdrawer.CategoryActivity.onCreate(CategoryActivity.java:40)
您是否在清单文件中声明了应用程序名称
<application
android:name=".AnalyticsApplication"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
.................
</application>
.................
我遵循了不,你没有。您没有这样做:更新项目的AndroidManifest.xml(因为您的应用程序仍然使用默认的android.app.Application
而不是自定义应用程序),我已经在清单中添加了此内容“”否,这不是许可证的问题,你认为问题出在哪里……看看我的android监视器上的错误,添加的android:名称可能重复,活动不会再次崩溃