【问题标题】:Where to put `sentry.properties` file in Android Studio project?在 Android Studio 项目中将`sentry.properties` 文件放在哪里?
【发布时间】:2018-09-04 05:48:11
【问题描述】:

文档对我没有太大帮助。 我尝试过的位置:

  • 根文件夹(gradle.properties 和项目的build.gradle 文件所在的位置)
  • /app 文件夹(应用程序的 build.gradle 文件是本地化的)
  • /app/src/main/kotlin

我在扩展 android.app.Application 的类中初始化我的应用程序的 Sentry,如下所示:

    class MyApp : Application() {
    override fun onCreate() {
        super.onCreate()
        Sentry.init(AndroidSentryClientFactory(applicationContext))
    }
}

然后用我的一种方法进行测试捕获:

Sentry.capture("This is a test capture using Sentry")

我还尝试在gradle.properties 中明确指定sentry.properties 文件的路径,但没有成功。

当我使用接受 DSN 的 Sentry.init() 方法时,它可以工作,但这不是我们所希望的,因为我不想将 DSN 检入 VCS。

我知道其他配置方法,不过我只想使用sentry.properties

【问题讨论】:

  • 你找到答案了吗?
  • 没有。我停止寻找它并转移到 LogEntries。
  • 不幸的是,Sentry 的安装指南非常糟糕且令人困惑!!!
  • 我同意这些文档令人困惑,但公平地说,尽管它目前确实说“在 Android 上默认为 app/src/main/resources/”,请参阅 docs.sentry.io/clients/java/config/#configuration。这对我有用,虽然我不确定是否必须为哨兵的属性文件创建这样一个命名错误的目录

标签: android sentry


【解决方案1】:

实际上有两个不同的sentry.properties文件。

  1. 应用在运行时用于配置 DSN 的 sentry.properties 应放置在 /app/src/main/resources (documentation)。

  2. Gradle 在构建时使用 sentry.properties 生成 ProGuard 映射并将其上传到 Sentry。这应该放在项目根目录中。 (documentation)。这是可选的,仅与使用 ProGuard 的应用相关。

【讨论】:

  • 方法不对,看这个帖子stackoverflow.com/a/59070456/4797289
  • @RasoulMiri - 答案是正确的,但现在有两个不同的 sentry.properties 文件用于不同的目的。我已经相应地更新了答案。
【解决方案2】:

the documentation 中声明app/src/main/resources/ 是Android 的sentry.properties 的默认位置。

默认情况下,SDK 会在应用程序的当前工作目录或类路径的根目录中查找 sentry.properties 文件。 (...) 在 Android 上默认为 app/src/main/resources/

【讨论】:

    【解决方案3】:

    我发现 sentry.properties文件应该放在app的根目录下。

    • 例如,如果我在 XYZ 文件夹中设置了我的项目,然后将 sentry.properties 放在同一个文件夹中(在同一个目录中,您可以找到 AppName.iml、gradle.properties 等)

    【讨论】:

      【解决方案4】:

      通过在官方文档中设置System Environment Variable 来尝试:

      https://docs.sentry.io/clients/java/config/#configuration-via-properties-file

      可以通过位于文件系统或应用程序类路径上的 .properties 文件配置 Java SDK。默认情况下,SDK 将在当前目录或类路径的根目录中查找sentry.properties 文件。 您可以使用 sentry.properties.file Java 系统属性或 SENTRY_PROPERTIES_FILE 系统环境变量覆盖属性文件的位置

      【讨论】:

      • 正如我在帖子中提到的,我知道替代方案,我只是想知道为什么 Sentry 无法在这些位置找到我的 sentry.properties 文件,它说它会寻找。
      猜你喜欢
      • 2016-09-06
      • 2010-11-01
      • 1970-01-01
      • 2020-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多