简体   繁体   English

如何使用Bazel在Android中实现Fabric Crashlytics?

[英]How to implement Fabric Crashlytics in Android with Bazel?

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, 我可以使用Gradle崩溃,但是当我使用bazel构建apk并运行它时,它会在活动开始后立即崩溃,并且在例外情况下,我会得到类似的结果,

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)

There is a current solution in tools_android to integrate Crashlytics into Bazel, called crashlytics_android_library . tools_android ,有一个当前的解决方案可以将Crashlytics集成到Bazel中,称为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,
)

For more information, see the README in bazelbuild/tools_android . 有关更多信息,请参见bazelbuild/tools_android自述bazelbuild/tools_android

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM