我正在使用Android Studio并正在构建Android库项目,因此我分发aar
文件。更具体地说,我只是将jar分发到了内部(是的,客户仍在使用Eclipse,因此我将manjar
和manifest,res等众所周知的过程手动结合在一起)。
这是我的Gradle构建脚本(常规默认设置...):
apply plugin: 'com.android.library'
android {
compileSdkVersion 22
buildToolsVersion "23.0.0"
lintOptions {
abortOnError false
}
defaultConfig {
// Ain't applicationIdNot
minSdkVersion 11
targetSdkVersion 22
versionCode 1
versionName "1"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
java {
srcDir 'src/main/java'
}
resources {
srcDir 'src/../lib'
}
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile '...'
}
问题是:在一个Java包下,与常规Java类一起,我有ttf
字体文件。这是由于历史原因,现在项目复杂,不允许进行更改并将其移至实际需要的位置。
好吧-罐子里缺少这些文件。如何在jar
内部实现构建过程arr
将包括这些文件-因为毕竟-它是常规归档,并且这些文件在文件树中已经压缩到中了jar
。
谢谢,
只需指定将文件包含在您的sourceSets
闭包中
// if you want to include the files in your aar
android {
...
sourceSets {
main {
resources.includes = [ '**/mySweetFont.ttf' ]
}
}
}
// to include in your jar
sourceSets {
main {
resources.includes = [ '**/mySweetFont.ttf' ]
}
}
这会将文件放在生成的工件的根目录。对于jar
您可能需要指定sourceSets
两次一次内部关闭android
的关闭之后,再次android
关闭
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句