【问题标题】:Is it better to have min, target and compile SDK set to equal version?将最小、目标和编译 SDK 设置为相同版本会更好吗?
【发布时间】:2020-10-03 18:15:30
【问题描述】:

我正在学习 Android,来自 iOS 的阴暗面,那里的一切处理都更加严格。

我已经阅读了min sdktarget sdkcompile sdk 之间的区别。但是,我仍然不清楚以下情况。

如果我的 min sdk 设置为 KitKat (19) 以允许 98% 的用户群覆盖率,并且我的目标 sdk 设置为 Android 10+ (30),那么我可能正在使用 KitKat 上不可用的功能进行编译。

例如应该从Lolipop (21) 支持材料设计。但是为什么我仍然可以将它添加到我的 KitKat build.gradle 项目中?

dependencies {
    implementation "com.google.android.material:material:$material_version"
}

所以当使用 KitKat Android 的用户打开我的应用程序时,它应该会因为 Material Design 而崩溃,对吧?那么为什么编译器不抱怨这个并让它通过呢?

最好让这三个都指向我想要支持的最低版本?

【问题讨论】:

    标签: android


    【解决方案1】:

    因此,当使用 KitKat Android 的用户打开我的应用程序时,它应该会崩溃 因为材料设计,对吧?那么为什么编译器不 对此抱怨并让它过去?

    因为库是向后兼容的,所以它不会崩溃。否则编译器会报错。

    最好让这三个都指向我的最低版本 要支持吗?

    取决于您的要求,但我认为最好有一个 min sdk 以针对最大用户。

    【讨论】:

      猜你喜欢
      • 2014-08-22
      • 2019-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多