Android Studio Gradle build "apply plugin: 'com.android.library'": aar 缺少文件
Android Studio Gradle build "apply plugin: 'com.android.library'": aar missing files
我正在使用 Android Studio 并构建 Android 库项目,因此我分发了 aar
文件。更具体地说,我只是在内部分发 jar(是的——客户仍在使用 Eclipse,所以我手动将 jar
与清单、资源等众所周知的程序结合起来)。
这是我的 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
这样的构建过程将包括这些文件 - 因为毕竟 - 它是常规存档,并且那些文件位于文件树中,已经压缩到 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
闭包之后
我正在使用 Android Studio 并构建 Android 库项目,因此我分发了 aar
文件。更具体地说,我只是在内部分发 jar(是的——客户仍在使用 Eclipse,所以我手动将 jar
与清单、资源等众所周知的程序结合起来)。
这是我的 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
这样的构建过程将包括这些文件 - 因为毕竟 - 它是常规存档,并且那些文件位于文件树中,已经压缩到 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
闭包之后