将Firebase添加到android项目中
前提: minSdkVersion 16 以上
Gradle 4.1以上
Jetpack (AndroidX)要求:
·classpath “com.android.tools.build:gradle:4.0.1”
·compileSdkVersion 30
(一)创建firebase:
1.在firebase注册应用
2.下载配置文件,将配置文件复制到项目根目录
3.添加FirebaseSDK
build.gradule(项目gradle)
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
*google()*//添加
jcenter()
}
dependencies {
classpath "com.android.tools.build:gradle:4.0.1"
*classpath 'com.google.gms:google-services:4.3.10'* //添加
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
*google()*//添加
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
build.gradule(app gradle)
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'//添加
android {
compileSdkVersion 30
buildToolsVersion "30.0.3"
defaultConfig {
applicationId "com.example.firebasetest"
minSdkVersion 16
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation platform('com.google.firebase:firebase-bom:28.4.0')//添加
implementation 'com.google.firebase:firebase-analytics'//添加
}
然后点击"Sync now",这样子就成功将firebase添加到项目中了。
有不清楚的也可以参考官方文档:https://console.firebase.google.com/project/fir-test-b2552/settings/general/android:com.example.firebasetest
(二)验证:carashlytics验证
主要思路:控制台启用crashlytics==>添加依赖==>强制制造崩溃(这里是因为Crashlytics是用于检测软件崩溃的,所以当崩溃呗捕捉到,则说明Firebase集成成功)
1.控制台启用:如图
2.添加依赖:
项目级依赖:
classpath ‘com.google.firebase:firebase-crashlytics-gradle:2.7.1’
应用级依赖:
implementation platform(‘com.google.firebase:firebase-bom:28.3.1’)
implementation ‘com.google.firebase:firebase-crashlytics’
implementation ‘com.google.firebase:firebase-analytics’
应用级插件:
apply plugin: ‘com.google.firebase.crashlytics’
3.强制制造崩溃
制作按钮点击崩溃
Button crashButton = new Button(this);
crashButton.setText("Test Crash");
crashButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
throw new RuntimeException("Test Crash"); // Force a crash
}
});
addContentView(crashButton, new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
运行程序,程序崩溃,查看数据:
(三)SHA1密钥获取:自签名文件获取
keytool -v -list -keystore 签名(xxx.keystore)
官网:https://developers.google.com/android/guides/client-auth