How do i keep different configurations for my android app with GCM 3.0

前端 未结 2 1751
天命终不由人
天命终不由人 2020-12-29 10:45

I want to keep different configurations for my debug/release build variants but apparently, the google-services.json file only allows for one. Is there any alternative? Is t

相关标签:
2条回答
  • I'm using this workaround to solve a similar issue with build flavours.

    The flavour specific google-service.json files are stored under /app/src/{flavour-name}/google-service.json. To copy this to the /app dir the following code may be added to the /app/build.gradle file:

        gradle.taskGraph.beforeTask { Task task ->
            if(task.name ==~ /process.*GoogleServices/) {
                android.applicationVariants.all { variant ->
                    if(task.name ==~ /(?i)process${variant.name}GoogleServices/){ 
                        copy {
                            from "/src/${variant.flavorName}"
                            into '.'
                            include 'google-services.json'
                        }
                    }
                }
            }
        }
    

    In the absence of flavours (as I understand your question) the following /app/build.gradle code snippet did the job in an android studio test project:

        gradle.taskGraph.beforeTask { Task task ->
            if(task.name ==~ /process.*GoogleServices/) {
                android.applicationVariants.all { variant ->
                    if(task.name ==~ /(?i)process${variant.name}GoogleServices/){
                        copy {
                            from '.'
                            into '.'
                            rename { String fileName ->
                                fileName.replace("google-services-${variant.name}.json", 'google-services.json')
                            }
                            include "google-services-${variant.name}.json"
                        }
                    }
                }
            }
        }
    

    The snippet expects a google-services-debug.json and a google-services-release.json in your /app dir and copies and renames it to google-services.json.

    Hope this helps.

    0 讨论(0)
  • 2020-12-29 11:34

    No there is no way to define build specific configs at this point. Good idea though, seems like something useful.

    0 讨论(0)
提交回复
热议问题