根据构建风格引用不同的资产

时间:2018-05-17 01:41:30

标签: android android-gradle

我能够在readFile = open("file.sbv") writeFile = open("newwordlist.sbv","w") for line in readFile: newline = line.rstrip('\r\n') if not re.search(r'^\d:\d{2}:\d{2}\.\d{3},\d:\d{2}:\d{2}\.\d{3}$', newline, re.M|re.I) writeFile.write(newline) readFile.close() writeFile.close() 版本上获得正确的api_key.txt,因为它是debug。但是我无法使用productFlavor buildType

我已经尝试在我编译的amazon文件中执行此操作,但在运行时它实际上不会引用正确的文件:

build.gradle

这是我的文件夹结构:

folder structure

当我的产品风格为sourceSets { amazon { assets.srcDirs = ['app/src/amazon/assets'] } 时,如何在api_key.txt文件夹中引用amazon/assets

非常感谢所有帮助,谢谢。

2 个答案:

答案 0 :(得分:2)

基于此https://developer.android.com/studio/build/build-variants文档,您需要应用程序的此类层次结构。 从所有构建版本中删除assets.srcDirs,您可以尝试使用这种结构。

buildTypes {
  release {
    // ... the usual stuff here
  }
  releaseAlt {
    // .. the usual stuff here too like signing config etc...
  }
}

文件层次结构您应该具有:

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/

答案 1 :(得分:0)

我认为你应该写" src / amazon / assets"而不是" app / src / amazon / assets"。

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