小编Bha*_*gat的帖子

在一个APK文件中切换不同的firebase项目(运行时)

我们正在我们的Android应用程序中集成firebase消息,用于推送通知.我们将从服务器端使用SNS向firebase发送推送消息.以下是我们的用例:

  • 我们有三台服务器:QA,STG和PRODUCTION
  • 我们在firebase控制台中创建了三个项目:比如appQA,appSTG和appProd
  • 但是我们只想生成1个单独的APK,它可以从上述三个基础项目中的任何一个接收firebase推送通知,具体取决于我们用户登录的服务器.
  • 我们在firebase中配置了每个项目,最后我们为每个项目获得了1个google-services.json文件(共3个)
  • 现在我们如何配置或生成1个APK,它可以包含所有三个json文件,并在它们之间切换运行时而不是构建时间,因为我们不想为不同的环境构建单独的APK.我们严格要求生成一个可用于连接到我们所有环境并从所有环境接收推送通知的单个APK.
  • 我们尝试过类型和构建类型,但它们都是构建时而不是运行时

这是我们第一次在Android上推送推送通知的世界.

PS:显而易见的解决方案是在firebase中只有一个项目并在客户端配置它,我们所有的服务器都可以使用相同的项目,但理想情况下我们需要生产与QA/STG的单独项目

android firebase firebase-cloud-messaging

3
推荐指数
1
解决办法
1197
查看次数

SonarCloud:运行 ant 和声纳连接到声纳云时出错

我们有一个设置,我们将 SonarQube 与 Ant 一起使用并连接到 SonarCloud ( https://sonarcloud.io )。此设置始终在本地开发人员机器和 bitbucket 管道中工作。两天以来,我们在本地和 bitbucket 管道上一直低于错误。以下是堆栈跟踪:

Project.sonar:
[sonar:sonar] Apache Ant(TM) version 1.10.5 compiled on July 10 2018
[sonar:sonar] SonarQube Ant Task version: 2.5
[sonar:sonar] Loaded from: file:<redacted_path>/sonarqube-ant-task-2.5.jar
[sonar:sonar] User cache: /Users/<user>/.sonar/cache

BUILD FAILED
<redacted_path>/build-sonar.xml:120: java.lang.IllegalStateException: not started
    at org.sonarsource.scanner.api.EmbeddedScanner.checkLauncherExists(EmbeddedScanner.java:244)
    at org.sonarsource.scanner.api.EmbeddedScanner.stop(EmbeddedScanner.java:164)
    at org.sonarsource.scanner.ant.SonarQubeTask.launchAnalysis(SonarQubeTask.java:101)
    at org.sonarsource.scanner.ant.SonarQubeTask.execute(SonarQubeTask.java:81)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:99)
    at org.apache.tools.ant.Task.perform(Task.java:350)
    at org.apache.tools.ant.Target.execute(Target.java:449)
    at org.apache.tools.ant.Target.performTasks(Target.java:470)
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1388)
    at org.apache.tools.ant.Project.executeTarget(Project.java:1361)
    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
    at org.apache.tools.ant.Main.runBuild(Main.java:834)
    at …
Run Code Online (Sandbox Code Playgroud)

sonarqube sonarcloud

0
推荐指数
1
解决办法
1482
查看次数