Last active
July 10, 2019 04:42
-
-
Save alexsinger/2b5b1b7ae2d2fca1ffdb to your computer and use it in GitHub Desktop.
Separate Crashlytics reporting for debug and release buildTypes using a Gradle build
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// The following code allows an app to report Crashlytics crashes separately | |
// for release and debug buildTypes when using Gradle. This code should be inserted | |
// into the specified locations within your build.gradle (Module:app) file | |
// The buildTypes { } block should be inserted inside the android { } block | |
buildTypes { | |
release { | |
minifyEnabled false | |
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' | |
ext.crashlyticsApiSecret = "release api secret" | |
ext.crashlyticsApiKey = "release api key" | |
} | |
debug { | |
ext.crashlyticsApiSecret = "debug api secret" | |
ext.crashlyticsApiKey = "debug api key" | |
} | |
} | |
// The following code can be inserted at the bottom of your build.gradle file | |
import com.crashlytics.tools.utils.PropertiesUtils | |
File crashlyticsProperties = new File("${project.projectDir.absolutePath}/fabric.properties") | |
android.applicationVariants.all { variant -> | |
def variantSuffix = variant.name.capitalize() | |
def generateResourcesTask = project.tasks.getByName("fabricGenerateResources${variantSuffix}") | |
def generatePropertiesTask = task("fabricGenerateProperties${variantSuffix}") << { | |
Properties properties = new Properties() | |
println "...copying apiSecret for ${variant.name}" | |
properties.put("apiSecret", variant.buildType.ext.crashlyticsApiSecret) | |
println "...copying apiKey for ${variant.name}" | |
properties.put("apiKey", variant.buildType.ext.crashlyticsApiKey) | |
PropertiesUtils.injectPropertyInFile(crashlyticsProperties, properties, "") | |
} | |
generateResourcesTask.dependsOn generatePropertiesTask | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
If you get an error like
could not find method leftshift()
after applying the above thing then.Replace leftshift(<<) with
doLast
.