自定义库中的Android AppCompat依赖项

自定义库中的Android AppCompat依赖项,android,android-appcompat,android-library,Android,Android Appcompat,Android Library,我刚刚创建了一个新的库。 我的库是一个自定义的AppCompatImageView,因此我需要appcompat-v7库。问题来了: 如何将其添加到我的库中? 我应该使用“compile”还是“provided”,让用户将库添加到自己的依赖项中? 既然我不依赖于特定的版本,那么我应该如何处理所用库的不同版本呢 我在库的gradle文件中添加了以下行: provided 'com.android.support:appcompat-v7:+' 我想知道你对此的想法:) 我应该使用“compile

我刚刚创建了一个新的库。
我的库是一个自定义的AppCompatImageView,因此我需要appcompat-v7库。问题来了:

如何将其添加到我的库中?
我应该使用“compile”还是“provided”,让用户将库添加到自己的依赖项中?
既然我不依赖于特定的版本,那么我应该如何处理所用库的不同版本呢

我在库的gradle文件中添加了以下行:

provided 'com.android.support:appcompat-v7:+'
我想知道你对此的想法:)

我应该使用“compile”还是“provided”,让用户将库添加到自己的依赖项中

我会使用
compile
,并确保使用您的库的开发人员了解您的库依赖于
appcompat-v7
,因为这反过来会产生许多其他要求(例如,使用
appcompativity
,使用
Theme.appcompat

既然我不依赖于特定的版本,那么我应该如何处理所用库的不同版本呢


嗯,你需要一些版本
AppCompatImageView
不存在于所有版本的
appcompat-v7
中。我建议根据具体的版本(即,不是
+
),最好是最新和最好的版本。

您至少应该解释否决票……我明白您的意思,但这也意味着,如果用户出于任何原因使用appcompat库的特定旧版本,他将无法使用它。那么编译'com.android.support:appcompat-v7:25.+'?@StefanoSiano:“这也意味着,如果用户出于任何原因使用appcompat库的特定旧版本,他将无法使用”——开发者可以指示Gradle使用旧版本。“那么编译'com.android.support:appcompat-v7:25.+'呢?”——我一般都会避开
+
。您不知道您的代码是否能够在未经修改的情况下使用任意未来版本的
appcompat-v7
,开发人员可以选择使用较旧或较新的
appcompat-v7