【问题标题】:Can I have same Java file with different versions for debug and release?我可以使用不同版本的相同 Java 文件进行调试和发布吗?
【发布时间】:2019-08-25 11:17:45
【问题描述】:

我正在开发一个安卓应用程序。我有一个 java 文件,我想在调试和发布构建类型中以不同的方式使用它。我知道我可以为调试和发布版本提供不同的资源文件。但是是否也可以对 Java 文件做同样的事情?如何做到这一点?

【问题讨论】:

  • 使用风味。不要问我怎么做——我不知道具体情况。我只知道它存在,并且可以申请这样的东西。

标签: android android-studio


【解决方案1】:

第 1 步:将您的 Java 类的调试版本放入 src/debug/java/...

第 2 步:将 Java 类的发布版本放入 src/release/java/...

第 3 步:确保您src/main/java/... 中拥有此 Java 类的副本

现在,debug 构建将从 debug 源集中提取 Java 代码,而 release 构建将从 release 源集中提取 Java 代码。

【讨论】:

  • 我执行了上述步骤,但是在尝试构建调试版本时,我遇到了错误 org.gradle.api.GradleException: No matching client found for package name 'com.agmodels.bluetooth. agmodelsfeed.debug'
  • @adarsh:我不认识那个错误信息,我不知道它可能指的是什么“客户”。您正在使用的某些插件现在可能会感到困惑。我建议您提出一个单独的 Stack Overflow 问题,其中您的 minimal reproducible example 包含整个 Gradle 输出,因为 Gradle 输出的其余部分可能会为人们提供有关具体是什么生成错误消息的线索。
  • 我发现了问题,这是因为 google-services.json 文件。 stackoverflow.com/questions/34990479/…
  • 我发现我不得不“使缓存无效/重新启动”,因为 A.S.无法找到文件的新位置。此外,如果 /debug 文件夹被 git 忽略,请提示:使用 !/src/debug 行更新 .gitignore
  • @CommonsWare 您的回答有效,我只需要先构建 -> 清理(以防有人遇到同样的问题)。谢谢!
猜你喜欢
  • 2020-07-05
  • 2012-03-02
  • 1970-01-01
  • 1970-01-01
  • 2018-01-11
  • 1970-01-01
  • 2014-01-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多