制作包含可选资产的Android库

时间:2017-03-27 09:28:05

标签: android android-library

背景

我正在创建一个用于构建蒙古语垂直脚本应用程序的组件库。由于Unicode渲染问题,我需要在库中包含蒙古字体。对于某些应用来说,这已经足够但对于其他应用程序,需要一些字体。包括这些额外字体会显着增加库的大小。

目标

我希望开发人员尽可能轻松地排除额外的字体,如果他们在项目中不需要它们的话。

相关

我看到有办法从库中删除不需要的资源:

然而,这些是开发人员必须弄清楚的事情。从图书馆创建者的角度来看,我能做些什么来使这个版本成为使用我的图书馆的开发人员的一个非常简单的实现?

可能的解决方案

当然,我可以有两个不同版本的库,除了资源数量外,它们是相同的。但是这个"解决方案"听起来像是等待发生的错误。

我读过的内容

我在文档中看到了关于" non-default variants"的内容。这看起来很有希望,但我不明白这是如何/如果包含/排除资源。

更新

我包括库的build.grade文件的依赖项部分以及使用该库的演示应用程序。

build.gradle(模块:mongol-library)

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.3.0'
    testCompile 'junit:junit:4.12'
}

build.gradle(模块:demo-app)

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.3.0'
    compile 'com.android.support:recyclerview-v7:25.3.0'
    compile project(":mongol-library")
    testCompile 'junit:junit:4.12'
}

这些链接看起来也很有帮助:

0 个答案:

没有答案