我正在为android构建一个应用程序,并试图为crashlytics添加一个按钮。我已经成功运行了该应用程序,但Crashlycs按钮对我来说不起作用,这是我的应用程序代码:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'io.fabric'
android {
compileSdkVersion 29
buildToolsVersion "29.0.2"
defaultConfig {
applicationId "com.example.eleenai"
minSdkVersion 16
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
这是我的主要活动
import android.annotation.SuppressLint
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import android.view.ViewGroup
import android.widget.Button
import com.crashlytics.android.Crashlytics
import io.fabric.sdk.android.Fabric
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
@SuppressLint("SetTextI18n")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
setSupportActionBar(toolbar)
val crashButton = Button(this)
crashButton.text = "Crash!"
crashButton.setOnClickListener {
Crashlytics.getInstance().crash() // Force a crash
}
addContentView(crashButton, ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT))
}
}
什么意思是它不起作用?事实上,Crashlytics.getInstance().crash()
会使你的应用程序崩溃。故障报告将在下次重新启动时发送。
但是:
a( Crashlytics已被弃用,并已被Firebase取代。在2020年3月31日之后,它将不起作用。
b( 在安装指南中,我没有看到任何初始化Crashlytics的代码。您还必须将您的API密钥添加到manifest.xml
。
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Fabric.with(this, new Crashlytics());
setContentView(R.layout.activity_main);
}
}