Android 在具有不同SDK最小版本的项目中使用相同的自定义库

Android 在具有不同SDK最小版本的项目中使用相同的自定义库,android,android-library,Android,Android Library,我有一个带有几个实用程序类的自定义库。到目前为止,我在一个带有min SDK 21的项目中使用了它 现在,我想在另一个项目中重用其中一个类,该项目有min SDK 14。14版的类代码很好,但Gradle不喜欢库的MinSDK是21 对于这类问题,建议采用什么方法?我希望重用代码,而不是复制它。您可以使用,覆盖导入的库 从官方文件: 默认情况下,当导入具有以下值的库时: 高于主清单文件时,会发生错误,并且库 无法导入。使合并工具忽略此冲突并 导入库,同时保持应用的较低版本值, 将override

我有一个带有几个实用程序类的自定义库。到目前为止,我在一个带有min SDK 21的项目中使用了它

现在,我想在另一个项目中重用其中一个类,该项目有min SDK 14。14版的类代码很好,但Gradle不喜欢库的MinSDK是21

对于这类问题,建议采用什么方法?我希望重用代码,而不是复制它。

您可以使用,覆盖导入的库

从官方文件:

默认情况下,当导入具有以下值的库时: 高于主清单文件时,会发生错误,并且库 无法导入。使合并工具忽略此冲突并 导入库,同时保持应用的较低版本值, 将overrideLibrary属性添加到标记。属性 值可以是一个或多个以逗号分隔的库包名称, 指示可以覆盖主清单的 明斯克版本

例如,如果应用程序的主清单应用覆盖库,如下所示:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.app"
          xmlns:tools="http://schemas.android.com/tools">
  <uses-sdk android:targetSdkVersion="22" android:minSdkVersion="2"
            tools:overrideLibrary="com.example.lib1, com.example.lib2"/>
...

你能得到那个库的源代码吗?我是说Github的库模块。@Hareshchelana您认为源代码与这个问题相关吗?为什么?如果你有代码,那么就保留你需要的类,而不是整个库。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.lib1">
   <uses-sdk android:minSdkVersion="4" />
...