据我所知,在android"发布版"中签名APK.如何从代码中检查它还是Eclipse有一些秘密定义?
我需要这个来调试从Web服务数据中填充ListView项目(不,logcat不是一个选项).
我的想法:
android:debuggable,但由于某些原因看起来不可靠.我为我的Android应用程序(使用Android studio 3.1.3)开始使用Firebase Crashlytics设置了Firebase Crashlytics .在我自己的设备和模拟器上,一切正常,我的崩溃在Firebase控制台中正确显示.到现在为止还挺好.
但是,我的一个应用用户发生了意外情况:
java.lang.IllegalStateException:在使用singleton()之前必须初始化Fabric
异常被抛出在另一个Activity中,而不是MainActivity.
我知道您可以通过调用手动执行此处所述的初始化.Fabric.with(this, new Crashlytics());但是,没有任何关于必须在上面提到的入门文章中手动初始化Crashlytics的说法.我期待这是自动完成的,因为我自己的所有测试运行良好.那么为什么对于一些用户来说Crashlytics设置正确而有些用户没有?
使用Crashlytics + Fabric for Android时,有一种非常简单的方法可以启用和禁用崩溃报告.我使用它,所以在开发和测试期间,没有大量的崩溃警告每个人.
Crashlytics crashlytics = new Crashlytics.Builder().disabled(true).build();
现已弃用disabled(boolean)方法.有没有人知道替换是用于以编程方式禁用和启用crashlytics的?
禁用Crashlytics错误报告相对简单..我也想禁用Answers for debug builds.然而,
new Crashlytics.Builder().answers(null);
不起作用,因为显然答案不能为空
new Crashlytics.Builder().answers(new CustomAnswers());
使用CustomAnswers作为我的类扩展Answers在调用时获取NPE Answers.getInstance().但与简单地调用一些enable()方法相比,这种方法开始时很麻烦.
有任何想法吗?
另外,我真的希望Fabric能够尽快更新和改进他们的文档.
我刚刚将Crashlytics集成到我的应用程序中.但我有一个"问题":它始终启用
在他们的页面上(以及在各种stackoverflow线程中)它表示将其关闭我必须在我的build.gradle中包含ext.enableCrashlytics = false.所以我的buildTypes如下所示
buildTypes {
        debug {
            applicationIdSuffix ".debug"
            versionNameSuffix "-DEV"
            ext.enableCrashlytics = false
        }
        release {
            minifyEnabled false //TODO:Switch to true and add Proguard config to release
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            ext.enableCrashlytics = true
        }
    }
但每次我运行调试buildType时,应用程序都可以正常工作,即Crashlytics.start(this)可以正常运行,即使我认为它甚至无法编译到应用程序中,启用enableCrashlytics = false(报告奇怪的"问题")我知道).
我想了解为什么应用程序没有崩溃(以进一步提高我对使用build.gradle文件的理解).我想了解为什么我无法使用Crashlytics themselve提出的gradle指令禁用Crashlytics.我知道我可以通过简单地不启动它来摆脱Crashlytics(没有调用Crashlytics.start(this))但是那么指令enableCrashlytics会没用,对吧?
我错过了什么吗?
我正在使用com.crashlytics.sdk.android:crashlytics:2.3.2@aarcrashlytics版本,如果用户选择退出,我会禁用崩溃报告.
我尝试了这个解决方案,但它仍然没有工作,崩溃报告仍然被发送到Fabric.
我这样做:
Preference errorReportingEnabled = findPreference(MatlistanPrefs.BUGREPORTS_SEND_AUTOMATICALLY);
    errorReportingEnabled.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
        @Override
        public boolean onPreferenceChange(Preference preference, Object newValue) {
            Boolean value = (Boolean) newValue;
            Fabric.with(DataCollectionSettingsActivity.this, new Crashlytics.Builder().
                    core(new CrashlyticsCore.Builder().disabled(!value).build())
                    .build());
            return true;
        }
    });
这个问题有没有解决方案?
谢谢.
与此问题类似,我如何在Crashlytics中有两个应用程序条目 - 一个用于报告生产问题,另一个用于回归测试甚至是beta测试问题?
我有一个包含多个模块的项目.模块的公共代码位于库模块中.问题是我们最近将Crashlytics添加到我们的项目中(在库模块中),即使我们处于调试模式,我们仍然会收到错误报告.我在互联网上搜索,发现一个库总是被视为一种发布模式.现在我的问题是,有没有办法在我的情况下禁用Crashlytics?
谢谢