I am able to get the correct api_key.txt
on debug
builds because that is a buildType
. However I am unable to get this working with the productFlavor amazon
.
I’ve tried doing this in my build.gradle
file which compiles but it will not actually reference the correct file at run time:
sourceSets {
amazon {
assets.srcDirs = ['app/src/amazon/assets']
}
Here is my folder structure:
How can I reference api_key.txt
in the amazon/assets
folder when my product flavor is amazon
?
All help is greatly appreciated, thank you.
Android Product Flavors are also known as Android build types or Android build variants are the native Android app development way to implement different versions of the same application with minor changes.
Once the new project is created, by default it consists of two build types/variants - debug, release. Debug is the build type that is used when we run the application from the IDE directly onto a device. A release is the build type that requires you to sign the APK.
Build Type refers to build and packaging settings like signing configuration for a project. For example, debug and release build types. The debug will use android debug certificate for packaging the APK file. While, release build type will use user-defined release certificate for signing and packaging the APK.
Based on this https://developer.android.com/studio/build/build-variants document you want this type of hierarchy structure of your application.
Remove assets.srcDirs
from all build flavours and you can try with this kind of structure.
buildTypes {
release {
// ... the usual stuff here
}
releaseAlt {
// .. the usual stuff here too like signing config etc...
}
}
file hierarchy You should have like :
project/
- app/
- src/
- main/
- assets/
- logo.png // Generic assets go here
- java/
- res/
- ...
- flavor1/
- assets/
- logo.png // Specific assets for all the flavor1 Variants
- release/
- assets/
- logo.png // Specific assets for all the releaseAlt Variants.
- flavor1Release/
- assets/
- logo.png // very specific assets for the flavor1ReleaseAlt Variant
- SDK/
I think you should write "src/amazon/assets" instead of "app/src/amazon/assets".
sourceSets {
amazon {
assets.srcDirs = ['/src/amazon/assets']
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With