1

我的Android项目使用vs-android,通过Ant进行Java构建。根据 crashlytics/Ant 文档,我设置了 custom_rules.xml 以包含 crashlytics_build.xml,因此 Ant 输出包含对 crashlytics 的引用:

-post-build:
release:
android_rules.-pre-build:
crashlytics-init:
crashlytics-cleanup-resources:
crashlytics-pre-build:
crashlytics-init:
crashlytics-upload-deobs:
-pre-build:
crashlytics-generate-resources:
crashlytics-code-gen:
android_rules.-code-gen:

然后我得到编译错误:

error: package com.crashlytics.android does not exist
import com.crashlytics.android.Crashlytics;

我不知道它是如何工作的,但似乎 Crashlytics 在构建过程中没有成功注入它的 jar。我在互联网上的其他地方找到了 crashlytics-1.1.13.jar 的副本,当我将它添加到我的 libs 文件夹时,它解决了问题。该应用程序运行并报告崩溃。

但是,这并不理想,因为我没有得到 jar 文件的更新(我不知道 1.1.13 是否是最新的),并且我不知道是否还有其他不可见的问题是由这也是。

有任何想法吗?

4

1 回答 1

1

对于需要将使用 Ant 的 Android 项目与 Crashlytics Fabric 集成的用户,这里有一个参考,其中包含额外的步骤。

  1. 使用 Fabric 插件或 Crashlytics 集成的常规说明。结果,您将拥有:
    • AndroidManifest.xml 中的 ApiKey
    • 项目根目录中带有 apiSecret 的 fabric.properties
  2. 从这里下载 Fabric Ant 任务
  3. 将文件解压缩/提取到某个目录(我已将其放入 crashlytics)
  4. 从他们的存储库下载 Fabric Crashlytics aar 文件(我已经下载了所有 5 个库)
  5. 对于每个下载的 aar unarchive 它需要 classes.jar,将其重命名为更好的含义并放入 libs 文件夹;我有以下结果:

在此处输入图像描述

  1. 确保您的 custom_rules.xml 包含一行:
<import file="crashlytics/crashlytics_build.xml"/>

笔记:

  • 我的 crashlytics/crashlytics.properties 文件包含 apiSecret 和 apiKey 的行
  • 我的 App 文件在应用程序块中的 AndoroidManifest.xml 中被引用并覆盖 onCreate 方法:
@Override
public void onCreate() {
    super.onCreate();
    Fabric.with(this, new Crashlytics());
}

这个对我有用。

于 2015-10-15T16:14:36.977 回答