首页 > 解决方案 > DebugView 没有可用的设备

问题描述

我正在对一个小型应用程序进行一些测试,以了解 firebase-analytics 的工作原理。这是 MainActivity 的代码:

public class MainActivity extends AppCompatActivity {
private FirebaseAnalytics mFirebaseAnalytics;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mFirebaseAnalytics = FirebaseAnalytics.getInstance(getApplicationContext());

    mFirebaseAnalytics.setAnalyticsCollectionEnabled(true);

    mFirebaseAnalytics.setMinimumSessionDuration(10000);

    mFirebaseAnalytics.setSessionTimeoutDuration(300);

    Bundle bundle = new Bundle();
    bundle.putString(FirebaseAnalytics.Param.ITEM_ID,"ID");
    bundle.putString(FirebaseAnalytics.Param.ITEM_NAME,"NAME");
    bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE,"image");

    mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);
}

要查看我的应用程序是否向 Firebase 发送数据,我尝试使用 DebugView 但它说没有可用的设备,我还使用了命令

adb shell setprop debug.firebase.analytics.app <package_name>  

但没有任何改变。
如果我使用这 3 个命令

adb shell setprop log.tag.FA VERBOSE
adb shell setprop log.tag.FA-SVC VERBOSE
adb logcat -v time -s FA FA-SVC

我可以看到我的应用程序正在向 firebase 发送一些数据,就像这张图片中一样

我该怎么做才能启用 DebugView 并实时查看我的应用发送到 firebase 的内容?

标签: javaandroidfirebasefirebase-analytics

解决方案


请确保已执行以下步骤:

第 1 步:您的应用已在 Firebase 控制台中正确配置以支持 Analytics 功能。

第2步:

A)如果您只是使用单个构建变体,则以下命令就足够了:

adb shell setprop debug.firebase.analytics.app [your_app_package_name]

B) 但是,如果您正在使用具有不同应用程序 ID 且与应用程序包名称不同的多个构建变体,请务必执行以下命令:

adb shell setprop debug.firebase.analytics.app [your_application_id]

在这里,应用程序 ID 是在相应 gradle 文件中找到的构建变体的应用程序 ID。例如,假设您有两个构建变体 x 和 y 的 x.gradle 和 y.gradle,并且您还有通用 build.gradle 文件。要使用应用程序 ID com.abc.x 调试构建变体 x,命令将是:

adb shell setprop debug.firebase.analytics.app com.abc.x

同样,要使用应用程序 ID com.abc.y 调试构建变体 y,命令将是:

adb shell setprop debug.firebase.analytics.app com.abc.y

此行为一直存在,直到您通过执行以下命令明确禁用它:

adb shell setprop debug.firebase.analytics.app .none.

推荐阅读