【问题标题】:Fabric Crashlytics stuck on build and runFabric Crashlytics 卡在构建和运行上
【发布时间】:2017-06-20 18:58:47
【问题描述】:

目前,我正在尝试将 Crashlytics 集成到 Android 应用程序中。但是,我无法识别该应用并将其添加到 Fabric Dashboard。

按照以下步骤使用 Android Studio Fabric 插件时:

  1. 新应用
  2. 选择 Crashlytics
  3. 应用代码更改
  4. 同步分级
  5. 重建项目
  6. 在设备上构建应用(非虚拟)

但是,当我这样做时,Fabric 插件仍然卡在“请构建并运行您的应用程序”屏幕上,并最终给出错误消息“已经有一段时间了。需要帮助吗?”

我还尝试手动安装 Crashlytics,通过使用此链接自己添加代码:https://fabric.io/kits/android/crashlytics/install

但是当我构建应用程序时,我的 Fabric Dashboard 中仍然没有任何反应。

我尝试再次检查分支并重新添加此代码无济于事。我也尝试过重新安装 Fabric IDE 插件,重新启动 Android Studio 并重新启动我的机器。

我已按照这些相同步骤成功地将 Crashlytics 添加到其他应用程序。

有什么想法吗?

【问题讨论】:

  • 花点时间在他们的仪表板上发布通知
  • @RodrigoGontijo 我从昨天开始就遇到了这个问题,而且我几乎立即添加了其他应用程序。我不认为延迟是罪魁祸首。
  • 来自 Fabric 的 Mike。如果您查看 Logcat 输出,您是否看到来自 Fabric 的日志记录表明它已被初始化?
  • @MikeBonnell 有日志提示初始化06-21 11:55:43.186 18369-18369/com.app.id I/CrashlyticsCore: Initializing Crashlytics 2.3.17.dev
  • 嗯,可以分享一下应用的包名吗?

标签: android android-studio crashlytics google-fabric


【解决方案1】:

我刚刚遇到了同样的问题 - 在应用程序启动期间,Fabric 插件屏幕上没有显示“请构建并运行您的应用程序”。

在我禁用 Instant Run(Preferences > Build Execution Deployment > Instant Run)然后重新构建并运行应用程序后,它开始工作。

【讨论】:

    【解决方案2】:

    可能您忘记在应用级别 gradle.build 文件的开头添加 apply plugin: 'io.fabric'

    【讨论】:

      【解决方案3】:

      我遇到了类似的问题 - 一个月前我重构了包名称并在名称中插入了错误的字符(西里尔文 с 而不是拉丁文 c),我现在只能通过在 hex-editor 中查看 java 代码来看到。在 build.gradle 中 applicationId = "package name" 的写法与 *.java 文件中的包名类似,但只有所有字符在拉丁文中都是正确的。 简单地将应用程序包名称重构为等于 appliationId 的正确名称,并且清理/构建项目并不能解决 Fabric Crashlytics 的问题。可能是错误的包名留在了其他文件中,不仅在 *.java、manifest 和 gradle 中。我不知道。因为我在下一步完全重构了:

      1) 删除 Fabric 插件添加的所有代码行(如果您使用了自动代码插入)或您从 build.gradle (app)、AndroidManifest.xml、MainActivity.java 手动添加的所有代码行。

      2) 通过 Edit>Find>Replace in Path 将旧包名替换为新包名

      3) 手动将所有最少需要的项目文件复制到新的项目文件夹。我复制了这些文件夹和文件

      NewProjectFolder/build.gradle
      NewProjectFolder/app/build.gradle
      NewProjectFolder/app/src/*
      NewProjectFolder/app/libs/*
      

      4) 关闭当前项目,在“Welcome to Android Studio”中选择 Import Project 并选择新项目文件夹中的项目。

      5) 进行一些重构以正常运行您的应用程序(我使用 Firebase,因此我将此新应用程序添加到 Firebase 控制台中的 Firebase 项目中,并将新的 google-services.json 下载到 NewProjectFolder/应用程序/)

      6) 确保您的应用在重构和停止之前运行良好

      7) 启动Fabric插件,按"+New App" > "Crashlytycs" > "Install" > "Apply"自动安装fabric的代码到你的build.gradle(app )、AndroidManifest.xml、MainActivity.java。

      8) 运行您的应用程序并等待“完成!”在 Fabric 插件上。之后,您可以在 Crashlytics 仪表板中看到您的应用。

      它适用于我的项目,希望对您有所帮助。

      【讨论】:

        【解决方案4】:

        我也有这个问题。确保将应用程序包重命名为与应用程序 ID 相同的名称。

        例如,我有包结构com/exampleapp/,但它应该是com/companydomain/appname,因为应用程序ID是com.companydomain.appname

        【讨论】:

          【解决方案5】:

          这里有同样的问题,我解决了这些事情:

          首先,在您的应用程序 build.graddle 文件中添加:

          defaultConfig {
              applicationId "<your package name>"
          }
          

          如果不能解决,请尝试将您的 applicationId 更改为与您的包不匹配的另一个。

          出于某种原因,他们在这里工作。

          【讨论】:

            【解决方案6】:

            也有这个问题,然后

            我重构了我的应用程序包名称

            在 gradle 中更改了应用程序 ID 名称

            重新构建它,问题就解决了。

            【讨论】:

              【解决方案7】:

              确保在清单文件中包含对其专用 gradle.build 和 meta 的所有依赖项。接下来是通过互联网连接在您的设备上引发强制运行时错误,也不要忘记首先使用Fabric.with(this,new Crashlytics()) 对其进行初始化。如果这不起作用,请尝试在 Android Studio 中下载 Fabric for Android 插件并选择您的包。

              【讨论】:

                【解决方案8】:

                这对我有帮助: https://developer.android.com/studio/build/optimize-your-build#disable-crashlytics-build-id

                如果您想在调试版本中使用 Crashlytics,您仍然可以 通过防止 Crashlytics 更新来加速增量构建 在每次构建期间具有自己唯一构建 ID 的应用程序资源。因为 此构建 ID 存储在资源文件中,由 manifest,禁用自动生成 ID 生成还允许您 将 Apply Changes 与 Crashlytics 一起用于调试构建。

                为防止 Crashlytics 自动更新其构建 ID,请将以下内容添加到您的 build.gradle 文件中:

                android {
                  ...
                  buildTypes {
                    debug {
                      ext.alwaysUpdateBuildId = false
                    }
                }
                

                【讨论】:

                  猜你喜欢
                  • 2018-12-14
                  • 1970-01-01
                  • 1970-01-01
                  • 2019-06-06
                  • 1970-01-01
                  • 1970-01-01
                  • 2020-10-20
                  • 1970-01-01
                  • 2020-08-19
                  相关资源
                  最近更新 更多