只讨论市场商业化的情况
我最早是 minSdkVersion 21 ,然后现在升级了依赖库最小要求是 23 ,但是我想改成 28 了,28 是 android 9 ,已经将近 7 年前的版本了。如果用户连这个版本都达不到的话,是不是可以认为他的购买力和 ecpm 较低,我现在想直接放弃这些用户了。反正都要升级,还不如一次升好,长痛不如短痛。
类比一下 ios 对应的应该是 ios11 吧,感觉都特么上古了

其实 31 都没啥问题

我的 min 是 24 ,至少可以保证在老手机上正常运行。
target 是 29 ,上不去了,因为需要访问全局 sdcard 文件,后面 API 改动似乎挺大的。

defaultConfig {
minSdkVersion 21
targetSdkVersion 31
if (env('env') == 'debug') {
versionCode envInt("CI_PIPELINE_ID")
versionName env("CI_PIPELINE_ID")
} else {
versionName '1.0.0.0'
versionCode 1000
}
}

21 Android 5.0

最低 17 ,target28

最低 24 准备升级到 28 ,target 是 34 因为要上架 GP

标记的 22,但实际上在 Android5.0 上跑不起来,只兼容到 23

目前我手机上 miniSkd 最高的是游戏,比如光遇,minSDK 26 ,对应 Android 8.0

29, 安卓 10 的保有量非常大

21 ,有一些 PDA 设备版本比较早。有的机顶盒设备甚至 4.4 的都有。。对我来说 21 最大问题是 libuv 需要 24 ,所以我 patch 了一个支持到 21 的版本。其他的直接 webview 糊,webview 如果用 X5 的话,能到 Chromium89 ,基本够用,不知道 geckoview 能到哪个版本。反正不管哪个 SDK 版本都觉得原生 API 既碎片化而且太难用了,不怎么想在上面写复杂逻辑。

24

26

还在 21

我是 23 ,21 以上兼容性设计挺好的,主要看太低了你们测不测的过来。 毕竟 21 的手机都好卡了

19 // Android 4.4 KitKat

29我们客户不知道买的什么安全扫描工具,支持 android 10 以下的系统会报 warning

借楼问个问题,最近自己写了个小 app,尝试接 redis 进去,试了几个包,都报错,大佬们顺手给看看,报错信息 6 files found with path 'META-INF/INDEX.LIST' from inputs:

  • io.netty:netty-handler:4.1.107.Final/netty-handler-4.1.107.Final.jar
  • io.netty:netty-transport-native-unix-common:4.1.107.Final/netty-transport-native-unix-common-4.1.107.Final.jar
  • io.netty:netty-codec:4.1.107.Final/netty-codec-4.1.107.Final.jar
  • io.netty:netty-transport:4.1.107.Final/netty-transport-4.1.107.Final.jar
  • io.netty:netty-resolver:4.1.107.Final/netty-resolver-4.1.107.Final.jar
  • io.netty:netty-buffer:4.1.107.Final/netty-buffer-4.1.107.Final.jar

Adding a packaging block may help, please refer to

26

const val compileSdkVersion = 34
const val minSdkVersion = 21
const val targetSdkVersion = 30

19