我想将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。
根据安装过程(USB调试或Google Play),Firebase Crash Reporter是否有效?
============================================
全面描述我的迷你测试项目。
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文件字段中
&#34; current_key&#34;:&#34; AIzaSyDdlwnNGtv6RHo55xN7lxpuSrTh6MFss7k&#34;
与firebase控制台设置中的键不同:
AIzaSyCGmjhNuovZQkQfmBKGcEj4KT4X9a0GFqo
我尝试在项目中设置两个api键
AIzaSyDdlwnNGtv6RHo55xN7lxpuSrTh6MFss7k和AIzaSyCGmjhNuovZQkQfmBKGcEj4KT4X9a0GFqo
但它并没有帮助我。
我尝试设置所有东西,但没有任何帮助。我不知道为什么firebase dosn&t。t
对我的FirebaseCrash.report
命令作出反应。
我再说一遍,我的Android设备在谷歌注册了。但我没有在谷歌播放中使用我的应用程序。
我的项目出了什么问题?
答案 0 :(得分: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)); }