【问题标题】:How do make sure there is no conflict of "v7 appcompat or support" of my library when any application uses my library?当任何应用程序使用我的库时,如何确保我的库的“v7 appcompat 或支持”没有冲突?
【发布时间】:2016-11-28 18:01:51
【问题描述】:

我在 gradle 中有一个带有 com.android.support:appcompat-v7:23.0.1 依赖项的 android 库。

说任何不同版本的应用程序com.android.support:appcompat-v7:23.3.0is 在该应用程序的 build.gradle 中使用我的库。

以下是我有疑问的问题列表。

  1. android 采用哪个版本?低一还是高一?我怎么看?

  2. 如果我使用不同的版本,例如 24 或 25 及以上或相同的版本,会不会有冲突?

  3. 当任何应用使用我的库时,我如何确保不存在 v7 appcompat 冲突?

【问题讨论】:

    标签: android-appcompat android-library


    【解决方案1】:
    1. android 采用哪个版本?低一还是高一?我怎么看?

    Gradle 使用较高的。
    您可以使用命令gradlew dependencies 来检查依赖关系树。

    1. 如果我使用不同的版本,如 24 或 25 及以上或相同的版本,会不会有任何冲突?
    2. 当任何应用使用我的库时,我如何确保不存在 v7 appcompat 冲突?

    一般来说,维护库和避免冲突的最佳方法是始终使用最新的支持库来更新库。

    如果 appcompat-v7:23.3.0 的应用程序编译的 SDK 为 23,而 appcompat-v7:24+ 的库编译的 SDK 为 24。 android都采用了哪些支持库?

    如果您的库使用支持库 v24,则库和应用程序将需要使用相同级别 = 24 进行编译。

    【讨论】:

    • 清除了一些疑虑。这里还有一个,如果应用程序的compiledSDK是23,appcompat-v7:23.3.0,而库的compiledSDK是24,appcompat-v7:24+。 android 采用了哪些所有支持库?如果它需要 appcompat-v7:24+,这是否意味着应用程序使用什么已编译的 SDK 并不重要?还是因为库已经编译了 24 的 SDK,所以编译的SDK 会自行更改为 24?
    猜你喜欢
    • 2015-10-04
    • 2014-03-03
    • 1970-01-01
    • 2018-02-25
    • 2014-12-31
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 2017-06-20
    相关资源
    最近更新 更多