0

我想将 Firebase 崩溃报告器添加到我的 Android 项目中。我在 Firebase 网站上注册并构建了我的项目。我在我的 Android 项目中添加了 Firebase(以及 JSON 文件)。

我还在以下位置添加了对 Internet 连接的权限:

  <uses-permission
    android:name="android.permission.INTERNET"/>

<uses-permission
    android:name="ACCESS_NETWORK_STATE"
    />

我在我的简单测试项目中添加了测试代码:

private TextView mTextView;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    try
    {
        mTextView.setText("Text");
    }
    catch (NullPointerException e)
    {
        FirebaseCrash.report(e);
    }


}

然后我尝试在实际设备中测试 Firebase Android 应用程序。

但 Firebase 崩溃报告没有显示任何内容。即使 24 小时后,我也没有收到来自 Firebase 的任何消息。

我怀疑崩溃报告器不起作用,因为我使用 Android Studio 的调试工具安装了应用程序,而不是来自 Google Play。

Firebase Crash Reporter 是否根据安装过程(USB 调试或 Google Play)工作?

============================================

我的迷你测试项目的综合描述。

1)这是我的json文件:

{
  "project_info": {
    "project_number": "484954907583",
    "firebase_url": "https://firstproj-88f01.firebaseio.com",
    "project_id": "firstproj-88f01",
    "storage_bucket": "firstproj-88f01.appspot.com"
  },
  "client": [
    {
      "client_info": {
        "mobilesdk_app_id": "1:484954907583:android:a907cc6a5354ad1a",
        "android_client_info": {
          "package_name": "com.example.ff.crashrep1"
        }
      },
      "oauth_client": [
        {
          "client_id": "484954907583-c3f2jv9eng4r4h6chlf33a6oc0s4hptl.apps.googleusercontent.com",
          "client_type": 3
        }
      ],
      "api_key": [
        {
          "current_key": "AIzaSyDdlwnNGtv6RHo55xN7lxpuSrTh6MFss7k"
        }
      ],
      "services": {
        "analytics_service": {
          "status": 1
        },
        "appinvite_service": {
          "status": 2,
          "other_platform_oauth_client": [
            {
              "client_id": "484954907583-c3f2jv9eng4r4h6chlf33a6oc0s4hptl.apps.googleusercontent.com",
              "client_type": 3
            }
          ]
        },
        "ads_service": {
          "status": 2
        }
      }
    }
  ],
  "configuration_version": "1"
} 

2)我在firebase控制台中的项目设置:

在此处输入图像描述

3)我的简单活动:

public class MainActivity extends AppCompatActivity {


    private static final String TAG = "MainActivity";

    private TextView mTextView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        FirebaseCrash.log("Activity created");



        try {
            mTextView.setText("some text");
        }
        catch (NullPointerException e)
        {
            Log.d(TAG, "Exception");
            FirebaseCrash.logcat(Log.ERROR, TAG, "NPE caught");
            FirebaseCrash.report(e);
        }


    }
}

4)我的清单文件:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.ff.crashrep1">


    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>

</manifest>

5)我的项目树目录:

在此处输入图像描述

在 Json 文件字段中

“current_key”:“AIzaSyDdlwnNGtv6RHo55xN7lxpuSrTh6MFss7k”

与 firebase 控制台设置中的键不同:

AIzaSyCGmjhNuovZQkQfmBKGcEj4KT4X9a0GFqo

我尝试在我的项目中设置两个 api 键

AIzaSyDdlwnNGtv6RHo55xN7lxpuSrTh6MFss7k 和 AIzaSyCGmjhNuovZQkQfmBKGcEj4KT4X9a0GFqo

但这对我没有帮助。

我尝试设置所有东西,但没有任何帮助。我不知道为什么 firebase 不对我的FirebaseCrash.report命令做出反应。

我再说一遍,我的安卓设备在谷歌注册。但我在 google play 中没有我的应用程序。

我在项目中做错了什么?

4

1 回答 1

0

首先,firebase 崩溃报告适用于 USB 调试和从 Play 商店安装的情况。

因此,首先检查您的应用程序是否生成异常,否则它不会在 Firebase 控制台上显示您。

并且您不需要更改 Json 文件中的任何键,保留该 json 文件,因为它是从 firebase 控制台下载的,用于测试目的。

您可以使用以下代码测试您的应用程序:它适用于我的应用程序

 try
        {
            int a = 12/0;
        }
        catch(Exception e)
        {
              FirebaseCrash.report(new Exception("My first Android non-fatal error"+e));
        }
于 2016-12-29T11:42:38.137 回答