据谷歌称,在发布我的Android应用程序之前,我必须" 停用源代码中对Log方法的任何调用 ".摘录自出版物清单的第5部分:
在构建应用程序以进行发布之前,请确保停用日志记录并禁用调试选项.您可以通过删除源文件中对Log方法的调用来停用日志记录.
我的开源项目很大,每次发布时手动执行都很痛苦.此外,删除日志行可能很棘手,例如:
if(condition)
Log.d(LOG_TAG, "Something");
data.load();
data.show();
Run Code Online (Sandbox Code Playgroud)
如果我对日志行进行注释,则条件适用于下一行,并且可能不会调用load().这种情况是否足够罕见,我可以决定它不应该存在?
这是在官方清单上,所以我想很多人会定期这样做.
那么,如何有效但安全地删除所有日志行?
我有一个应用程序,通过Firebase使用Fabric的Crashlytics.以下是我的Applications onCreate中执行的第一件事
CrashlyticsCore crashlyticsCore = new CrashlyticsCore.Builder()
.disabled(BuildConfig.DEBUG)
.build();
Fabric.with(this, new Crashlytics.Builder().core(crashlyticsCore).build());
Run Code Online (Sandbox Code Playgroud)
尽管如此,崩溃仍以DEBUG == true模式提交.
我使用以下版本
在我的build.gradle中
classpath "io.fabric.tools:gradle:1.25.1"
在我的app/build.gradle中
implementation "com.crashlytics.sdk.android:crashlytics:2.9.1"
不幸的是,崩溃仍然有报道.任何想法,我做错了什么?
android firebase crashlytics crashlytics-android google-fabric
升级到com.crashlytics.sdk.android:crashlytics:2.7.1@aar(从2.6.8开始)后,我无法在我的Firebase应用中禁用Crashlytics.
看起来Crashlytics库本身有一些代码,只要它检测到它在Firebase应用程序中运行,就会启用 Fabric with Crashlytics工具包.确实在启用Crashlytics的情况下进行初始化并ext.enableCrashlytics = false抛出UnmetDependencyException并在启动时崩溃应用程序(事实上,在我的代码Application.onCreate运行之前).
有谁知道解决方法吗?坚持2.6.8现在工作.这是我在我的代码中使用的,直到升级为止:
应用程序/的build.gradle:
ext.enableCrashlytics = false
Run Code Online (Sandbox Code Playgroud)
Application.java(onCreate,请求的完整方法体):
super.onCreate();
if (LeakCanary.isInAnalyzerProcess(this)) {
return;
}
LeakCanary.install(this);
// First Fabric invocation
Fabric.with(this, new Crashlytics.Builder().core(
new CrashlyticsCore.Builder().disabled(true).build()).build());
RxJavaPlugins.setErrorHandler(e -> LOGGER.error("Undeliverable RxJava error", e));
// First Firebase invocation
FirebaseDatabase db = FirebaseDatabase.getInstance();
if (BuildConfig.DEBUG) {
db.setLogLevel(com.google.firebase.database.Logger.Level.DEBUG);
}
db.setPersistenceEnabled(true);
Run Code Online (Sandbox Code Playgroud) 我在我的android项目中使用Firebase.想知道如何在开发模式下禁用它.正在记录所有崩溃和使用/事件,并搞乱实际分析.
有没有更好的方法在开发模式下禁用它?
我决定将Firebase Crash API 9.0.1包含在我的Android应用中.目前一切正常.现在,我想让我的用户有机会禁用,Firebase会自动发送崩溃报告.
可以使用此代码段禁用Firebase Analytics
FirebaseAnalytics.getInstance(this).setAnalyticsCollectionEnabled(false);
Run Code Online (Sandbox Code Playgroud)
你们中有谁知道类似的方法来禁用崩溃报告吗?
非常感谢