8

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:

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.

Dick Lucas
  • 12,289
  • 14
  • 49
  • 76

2 Answers2

11

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/
Mayur Patel
  • 2,300
  • 11
  • 30
  • Since the build type overrides the flavor, I just made my folder `amazonRelease` and that did the trick. Thank you! – Dick Lucas May 17 '18 at 15:29
3

I think you should write "src/amazon/assets" instead of "app/src/amazon/assets".

sourceSets {
amazon {
  assets.srcDirs = ['/src/amazon/assets']
}