如何使用Bazel在Android中实现Fabric Crashlytics? [英] How to implement Fabric Crashlytics in Android with Bazel?

查看:95
本文介绍了如何使用Bazel在Android中实现Fabric Crashlytics?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我可以使用Gradle崩溃,但是当我使用bazel构建apk并运行它时,它在活动开始后立即崩溃,并且在例外情况下,我得到了类似的东西,

I am able to get crashes using Gradle but when I build the apk using bazel and run it, it crashes as soon as activity is started and in exception I am getting something like this,

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxx.app/com.xxx.app.ServerConfig}: io.fabric.sdk.android.services.concurrency.UnmetDependencyException: This app relies on Crashlytics. Please sign up for access at https://fabric.io/sign_up,
install an Android build tool and ask a team member to invite you to this app's organization.
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2975)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3053)
    at android.app.ActivityThread.-wrap11(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1772)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:197)
    at android.app.ActivityThread.main(ActivityThread.java:7018)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:514)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:837)
 Caused by: io.fabric.sdk.android.services.concurrency.UnmetDependencyException: This app relies on Crashlytics. Please sign up for access at https://fabric.io/sign_up,
install an Android build tool and ask a team member to invite you to this app's organization.
    at com.crashlytics.android.core.CrashlyticsCore.onPreExecute(CrashlyticsCore.java:232)
    at com.crashlytics.android.core.CrashlyticsCore.onPreExecute(CrashlyticsCore.java:205)
    at io.fabric.sdk.android.InitializationTask.onPreExecute(InitializationTask.java:44)
    at io.fabric.sdk.android.services.concurrency.AsyncTask.executeOnExecutor(AsyncTask.java:611)
    at io.fabric.sdk.android.services.concurrency.PriorityAsyncTask.executeOnExecutor(PriorityAsyncTask.java:43)
    at io.fabric.sdk.android.Kit.initialize(Kit.java:69)
    at io.fabric.sdk.android.Fabric.initializeKits(Fabric.java:440)
    at io.fabric.sdk.android.Fabric.init(Fabric.java:384)
    at io.fabric.sdk.android.Fabric.setFabric(Fabric.java:342)
    at io.fabric.sdk.android.Fabric.with(Fabric.java:313)
    at com.xxx.app.ServerConfig.onCreate(ServerConfig.java:246)
    at android.app.Activity.performCreate(Activity.java:7301)
    at android.app.Activity.performCreate(Activity.java:7292)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1215)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2928)

推荐答案

tools_android中有一个当前解决方案,用于将Crashlytics集成到Bazel中,称为crashlytics_android_library.看起来像这样:

There is a current solution in tools_android to integrate Crashlytics into Bazel, called crashlytics_android_library. It looks like this:

GOOGLE_SERVICES_RESOURCES = google_services_xml(
    package_name = "com.example.package",
    google_services_json = "google-services.json",
)

crashlytics_android_library(
    name = "crashlytics_lib",
    package_name = "com.example.package",
    build_id = "9dfea8fe-4d75-48a7-ba28-4ddb7fe74780",
    resource_files = GOOGLE_SERVICES_RESOURCES,
)

有关更多信息,请参见bazelbuild/tools_android中的自述文件.

For more information, see the README in bazelbuild/tools_android.

这篇关于如何使用Bazel在Android中实现Fabric Crashlytics?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆