我正在尝试使用 Android Studio 和 gradle 为库 Android 项目创建 AAR 文件。
我想从此存档中排除特定文件夹和文件,但找不到有效的解决方案。
该项目有2种口味。
app/
|--libs/
|--src/
|--flavour1/
| |--java/
| |--a1/
| | |--class_File1.java
|--flavour2/
| |--java/
| |--a1/
| | |--class_File1.java
|--main/
|--java/
| |--...
|--res/
| |--raw/
| | |--comments.txt
| |--...
|--AndroidManifest.xml
我使用像这样的 build.gradle 文件
apply plugin: 'com.android.library'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
minSdkVersion 10
targetSdkVersion 21
}
packagingOptions {
exclude 'assets'
exclude '**/comments.txt'
}
sourceSets {
flavour1 {
resources {
exclude '**/comments.txt'
}
}
flavour2 {
}
}
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
productFlavors {
flavour1 {
packagingOptions {
exclude 'assets'
exclude 'res/raw/comments.txt'
}
}
flavour2 {
}
}
}
dependencies {
compile 'com.google.android.gms:play-services:+'
}
一般来说,我已经做了很多实验。我已经尝试了 PackagingOptions,sourceSets 中的排除,但似乎没有任何效果。我想要实现的不是例如在 .AAR 存档中包含文件 comments.txt 和作为可选文件夹的文件夹“assets”。我每次都检查 .AAR 文件,方法是将其重命名为 zip 并查看包含的文件。
我还查看了此处的文档,其中配置可能是一种解决方案,但我不确定如何使用它或如何继续前进。任何帮助将不胜感激。