Android 大版本适配

1 市场份额

总结:
市场主要集中在6/7,厂商集中在对8/9的优化
B 所以熟悉android M/N的版本特性是基础,这块市场份额最大;
同时研究android O/P的新特性,来应对厂商最新手机版本
C 旧手机集中在4.4 以后,minSdkVersion设置为19,比较适用
然后我们将App targetSdkVersion改为对应的版本号6/7/8/9 (23M/24N/26O/28P),点击sync Now,开始版本的适配

适配前先了解各个Sdk 非常关键的差异性,如下分别说明:
2 Android 6 适配小结
完整变更介绍见这里,下面只列举个人非常典型的总结
https://developer.android.google.cn/about/versions/marshmallow/android-6.0-changes
A 【权限管理】首先最迫切的就是对动态权限的声明,仅仅manifest 是不够的,还需要requestPermissions动态权限
哪些需要申请,哪些不需要,比较多不容易记忆
没有权限就闪退,所以又不得不做
其实原则很简单:涉及用户隐私了就需要。比如拍照/相册/联系人/短信/定位/存储等
Android6.0动态权限列表、普通权限列表、特殊权限列表
B 【Doze模式】俗称打盹,为了更低的能耗逐渐限制后台的动作,Alarm开始延迟,之前与时间强相关的时钟或定时,就需要注意受Doze 模式的影响。
C 【弃用Apache HTTP 客户端】也就是HttpClient 向HttpURLConnection 转变,优化网络请求。影响App网络部分,包括使用的三方网络框架,需要考虑变更。或者 useLibrary 'org.apache.http.legcy'依旧使用遗产的方案
D 【APK 验证】Manifest中的文件如果没有,包被认为是损坏的。所以自己查一遍,养成好习惯
E 【强化硬件标识符访问权】之前通过wifi,蓝牙拿到mac地址,现在均拿不到,逐步强化对地址的管理

3 Android 7 适配小结
完整的变更见这里
https://developer.android.google.cn/about/versions/nougat/android-7.0-changes
A 【分屏模式】我们targetSDKVersion 切换到N, 则默认允许多窗口,可以关闭
android:resizeableActivity="true"
同一栈下,默认使用相同配置,A允许,B也会允许,除非显示设置
B 【应用间共享文件】通过URI 传递文件,将触发FileUriExposedException,需要使用FileProvider
【移除网络切换广播】移除隐私广播,非常重要
不再收到 Connectivity_action /Action_new_picture /Action_new_video
D 【sharePref 私有权限】shared_prefs 设置为外部可读写,将触发SecurityException

4 Android 8适配小结
完整的变更见这里
https://developer.android.google.cn/about/versions/oreo/android-8.0-changes
A 通知渠道,需要定义Notification Channel
B 前台服务,需要调用startForegroundService
C 未完待续

5 Android 9适配小结
https://developer.android.google.cn/about/versions/pie/android-9.0-changes-all
A 区分针对9.0的应用,与所有targetSdk 应用
B 未完待续

Android是一个开源的移动操作系统,由Google开发。它的各个版本都有不同的特性和适配要求。下面是Android各个版本适配情况: 1. Android 1.0:这是Android的首个正式版本,发布于2008年。它主要适配了当时的早期智能手机。 2. Android 1.5 Cupcake:这个版本引入了许多新特性,包括虚拟键盘、文本选择和复制功能等。它的适配要求相对较低,可以在较旧的设备上运行。 3. Android 1.6 Donut:这个版本增加了搜索框和快捷方式等功能。它的适配要求与Cupcake相似。 4. Android 2.0/2.1 Eclair:这个版本引入了许多新特性,包括支持多点触控、HTML5视频播放和Live壁纸等。它的适配要求相对较高,需要较新的设备支持。 5. Android 2.2 Froyo:这个版本引入了许多新特性,包括支持移动热点和Adobe Flash等。它的适配要求与Eclair相似。 6. Android 2.3 Gingerbread:这个版本引入了许多新特性,包括支持NFC和下载管理器等。它的适配要求相对较高,需要较新的设备支持。 7. Android 4.0 Ice Cream Sandwich:这个版本引入了许多新特性,包括全新的用户界面和面部解锁等。它的适配要求相对较高,需要较新的设备支持。 8. Android 4.1/4.2/4.3 Jelly Bean:这个版本引入了许多新特性,包括Google Now和通知增强等。它的适配要求与Ice Cream Sandwich相似。 9. Android 4.4 KitKat:这个版本引入了许多新特性,包括透明状态栏和打印支持等。它的适配要求相对较高,需要较新的设备支持。 10. Android 5.0/5.1 Lollipop:这个版本引入了许多新特性,包括Material Design和多用户支持等。它的适配要求相对较高,需要较新的设备支持。 11. Android 6.0 Marshmallow:这个版本引入了许多新特性,包括指纹识别和运行时权限等。它的适配要求相对较高,需要较新的设备支持。 12. Android 7.0/7.1 Nougat:这个版本引入了许多新特性,包括分屏模式和通知增强等。它的适配要求相对较高,需要较新的设备支持。 13. Android 8.0/8.1 Oreo:这个版本引入了许多新特性,包括自适应图标和通知渠道等。它的适配要求相对较高,需要较新的设备支持。 14. Android 9 Pie:这个版本引入了许多新特性,包括手势导航和应用程序切片等。它的适配要求相对较高,需要较新的设备支持。 15. Android 10:这个版本引入了许多新特性,包括暗黑模式和系统级录屏等。它的适配要求相对较高,需要较新的设备支持。 16. Android 11:这个版本引入了许多新特性,包括聊天气泡和无线Android Auto等。它的适配要求相对较高,需要较新的设备支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程俊锋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值