Любые изменения и улучшения стиля кода приветствуются.
я есть библиотека Android (aar
), который содержит (и создает при сборке модуля) собственный код:
apply plugin: 'com.android.library'
android {
compileSdkVersion 16
buildToolsVersion "25.0.0"
defaultConfig {
minSdkVersion 11
targetSdkVersion 16
versionCode 1
versionName "1.0"
ndk {
abiFilters 'armeabi-v7a'
}
}
externalNativeBuild {
ndkBuild {
path 'jni/Android.mk'
}
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
res.srcDirs = ['res']
jni.srcDirs = ['jni']
}
}
packagingOptions {
exclude '/lib/armeabi-v7a/libv8.cr.so'
exclude '/lib/armeabi-v7a/libv8_libbase.cr.so'
// TODO : generate dynamically from `SHARED_V8_LIB_FILENAMES`
}
}
Я модифицировалAndroid.mk
файл, чтобы иметь различные конфигурации в зависимости отSHARED_V8_LIB_FILENAMES
переменная окружения:
...
# Report configuration
ifeq ($(SHARED_V8_LIB_FILENAMES),)
# static
$(info [Configuration] Linking statically with built-in v8)
else
# dynamic
define info_define
$(info [Configuration] Linking dynamically with shared v8 library ./libfoo-binaries/android_$(TARGET_ARCH_ABI)/$1)
endef
$(foreach item,$(SHARED_V8_LIB_FILENAMES),$(eval $(call info_define,$(item))))
endif
...
Как я могу изменить мойbuild.gradle
для того, чтобы генерироватьpackageOptions
раздел зависит от переменной средыSHARED_V8_LIB_FILENAMES
? Мне нужно проверить, установлена ли переменная, разобрать ее с разделителем пробелов и добавить список файлов, чтобы исключить из окончательногоaar
файл.