来自 维基百科 以API LEVEL 的更新维度排列 Android 版本 API LEVEL 名称 Linux 内核 首次发布日期 9.0 28 Pie 4.4.107、4.9.84、4.14.42...API LEVEL Android开发者使用的用于开发Android应用程序的SDK 版本,因为Google会不断对外发布新Android版本,版本的修改需反映到开发者的SDK上,为了避免不同版本的做成线上异常...,需要为不同的Android版本设立不同的API LEVEL让开发者做好适配。...如果版本更新不影响SDK的api,可以不升级API LEVEL。 系统名称 区别于Android版本,一般因为小修改或者bugfix而发布的版本不会更新系统名称。...内核版本 Android是基于Linux的,而Linux本身也在不断发展、开发新特性、bugfix,提高稳定性,所以一般Android发布新版本也会迭代内核版本,保持内核的稳定与安全。
1、Android 9.0应用迁移 1.1 概述 在最开始针对速贷进行Android9.0版本的适配时,我使用的是真机是vivo X21A,将targetSdkVersion升到28,运行发现网络请求全报...白名单:即SDK 浅灰名单(72个):仍可以访问的非 SDK 函数/字段 深灰名单(7个):对于目标 SDK 低于 API 级别 28 的应用,允许使用深灰名单接口; 对于目标 SDK 为 API...28 或更高级别的应用:行为与黑名单相同 黑名单(0个):受限,无论目标 SDK 如何,平台将表现为似乎接口并不存在 列入浅灰名单的非 SDK 接口包含可以在 Android 9 中继续工作的函数和字段...支付 4、偶现人脸识别不成功,反复进入活体认证页面 针对问题一和二:我测试了下Android9.0的模拟器以及google pixel(9.0)真机,发现并没有这些问题,而在vivo X21A真机上面,...下面提到的模式针对该机效果都不变。 API 28也提供了新的类: DisplayCutout 类,该类主要用于获取凹口位置和安全区域的位置等。
反爬虫与反反爬虫的斗争是无止境的,但是,道高一尺魔高一丈,无他,见招拆招。 设置头 这是一种比较低级的反爬手段,主要是验证请求头中的User-Agent字段,判断发起请求的是否是真正的浏览器。...版本 16 MQQBrowser/26 Mozilla/5.0 (Linux; U; Android 2.3.7; zh-cn; MB200 Build/GRJ22; CyanogenMod-7) AppleWebKit...Android 2.3.4; Linux; Opera Mobi/build-1107180945; U; en-GB) Presto/2.8.149 Version/11.10 20 21 Android...; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; HTC; Titan) 35 36 UC浏览器 37 UCWEB7.0.2.37/28/999 38...创建一个IP池,需由四部分组成 IP获取器 IP存储器 IP检测器 API接口 这里介绍一个简单的开源IP代理池 下载地址:https://github.com/Python3WebSpider/ProxyPool
终于在 Android P 里官方收归了该功能的判断逻辑,Android P 和之后的版本完全可以使用官方 API 来判断全面屏,当然前提是第三方厂商按照 google 官方接口去实现。...最后经过仔细排查发现仅仅因为在上面那段代码中调用了 setOnApplyWindowInsetsListener 函数,该函数在 Android 官网有详细介绍,是用来在 Android 21 版本之后代替...适配详解 2.1 非 SDK API 名单介绍 Android P 版本最大最严格的特性变更应该非 SDK 接口限制莫属了。...适配的原则是优先黑名单和深灰名单,浅灰名单在官方未有替代 API 之前可以暂时不适配,在 Android P 上运行也不会有任何问题。...3.2 省电模式改进 Android 9 对省电模式又做了很多改进,开启省电模式之后会有如下限制: 系统会更加积极的将应用置于待机模式,不管应用是否空闲; 后台执行限制将适用于所有应用,无论他们的 targetApi
WeTest 导读 2018年8月7日,Google对外发布最新 Android 9.0 正式版系统,并宣布系统版本Android P 被正式命名为代号“Pie”,最新系统已经正式推送包括谷歌Pixel...终于在 Android P 里官方收归了该功能的判断逻辑,Android P 和之后的版本完全可以使用官方 API 来判断全面屏,当然前提是第三方厂商按照 google 官方接口去实现。...最后经过仔细排查发现仅仅因为在上面那段代码中调用了 setOnApplyWindowInsetsListener 函数,该函数在 Android 官网有详细介绍,是用来在 Android 21 版本之后代替...适配的原则是优先黑名单和深灰名单,浅灰名单在官方未有替代 API 之前可以暂时不适配,在 Android P 上运行也不会有任何问题。...3.2 省电模式改进 Android 9 对省电模式又做了很多改进,开启省电模式之后会有如下限制: 系统会更加积极的将应用置于待机模式,不管应用是否空闲; 后台执行限制将适用于所有应用,无论他们的 targetApi
少侠初入江湖,尚不知江湖险恶,入门级别的爬虫很快就被人识破,并对爬虫程序的发起IP地址进行了封锁 WHY?...Mobile/8J2 Safari/6533.18.5 [Android](https://link.jianshu.com/?...t=http://lib.csdn.net/base/linux); U; [android](https://link.jianshu.com/?...; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; HTC; Titan) UC无 User-Agent: UCWEB7.0.2.37/28/999...的描述,我们可以看到不同的浏览器版本信息都是通过不同的User-agent直接定义的,只需要将指定的User-agent包含在我们爬虫程序的请求头中,爬虫向网站发起的请求,就被伪装成了浏览器请求 ?
Google Play的目标API级别要求:Google Play 要求新应用(自2019年8月1日起)和应用更新(自2019年11月1日起)将目标API级别至少设为28(至少为Android9.0)。...使用 Android 9.0 或更高版本的设备调试应用 在您的应用上运行测试时,如果该应用访问了某些非SDK 接口,系统就会输出一条日志消息。...veridex工具也在不断地更新,它存在以下局限性: 它无法检测到通过JNI 实现的调用。 它只能检测到一部分通过反射实现的调用。 它对非活动代码路径的分析仅限于API 级别的检查。 【4....类似的限制也适用于 getConnectionInfo() 函数,该函数返回描述当前Wi-Fi 连接的 WifiInfo 对象。...【参考】 https://developer.android.com/about/versions/pie/android-9.0-changes-28?
Android Pie的限制 从 Android 9(API 级别 28)开始,Android对应用能使用的非 SDK 接口实施了限制。...非SDK接口等级 在Android9.0后 , Android 10、11都陆续更新了非SDK提供接口全集....如果您的应用尝试访问其中任何一个接口,系统就会抛出错误 有条件屏蔽 (greylist-max-x) 从 Android 9(API 级别 28)开始,当有应用以该 API 级别为TargetVersion...预计这些接口在未来的 Android 版本中会被有条件地屏蔽,并列在 max-target-x 名单中。...: 当APP的TargetVersion与运行时Android版本相同时 , 则会抛出错误 greylist : 目前可以继续调用 , 其实系统是不建议这样使用 , 可能在未来的版本会加入到greylist-max-x
关于兼容性和安全性的问题,本文不过多探讨了,给大家推荐一篇文章,同时也请大家关注文章中提到的支付宝和腾讯的处理方式,及其开源情况: 指纹识别 API 的版本演进 在 Android 6.0(Android...要注意的是,FingerprintManager在 Android 9.0(Android P Api28)做了 @Deprecated 标记,将被弃用。...再之后,在 Android 9.0(Android P Api 28),Google 对生物识别进行了进一步增强,开放了以 BiometricPrompt 为核心的新 Api,存在于 androidx.biometric...大意是,在 Android P 及以上版本的系统中,BiometricPrompt 将展现一个由系统提供的验证提示,用于支持设备提供的生物识别,包括指纹、虹膜、面部等。...: (1) Android 9.0 不允许开发者自定义指纹识别框,但系统提供的指纹识别框的灵活性堪忧。
Dalvik 可执行文件分包方式 一、Android 5.0 之前版本的 Dalvik 可执行文件分包支持 Android 5.0(API 级别 21)之前的平台版本使用 Dalvik 运行时来执行应用代码...二、Android 5.0 及更高版本的 Dalvik 可执行文件分包支持 Android 5.0(API 级别 21)及更高版本使用名为 ART 的运行时,后者原生支持从 APK 文件加载多个 DEX...尽管 Android 4.0(API 级别 14)提高了分配限制,但在 Android 5.0(API 级别 21)之前的 Android 版本上,应用仍有可能遭遇这一限制。...该设置将启用一个名为 pre-dexing 的构建功能,此功能使用仅适用于 Android 5.0(API 级别 21)和更高版本的 ART 格式更快生成 Dalvik 可执行文件分包输出。...提示:由于有适用于不同 Dalvik 可执行文件分包需求的不同构建变体,因此也可以为不同变体提供不同清单文件(这样,只有适用于 API 级别 20 和更低版本的清单文件会更改 标记名称),或者为每个变体创建不同的
提示:如果一个应用调用 Context.startForegroundService() 以启动另一个应用拥有的前台服务,则这些限制仅适用于两个应用都针对 Android 12 或更高版本的情况。...除了平台 API 外,Google 还提供了兼容库 API:androidx.core.splashscreen[21]。...4.9 HTTP 深度链接解析改进 Android 系统支持通过 Deep Link 或 Android App Link 将深度链接与应用行为关联,实践中采用的链接基于 URI 格式,例如: 从 Android...在低版本中,如果 HTTP 链接未命中任何 Deep Link / App Link 的匹配规则,那么系统会打开应用选择对话框;而现在系统会直接通过默认浏览器打开链接(因为该链接本身是一个可访问的网址)...相关资料: Android Deep Link 深度链接,看看你在第几层?
因为官网的教程,在当前版本的 Xcode 和 NDK 环境中,已经不适用了。以前只是编译了适用于真机的 Luajit 库。...本篇是关于 Luajit 静态库的,如果你想找的是如何编译适用于移动端的 Luajit 字节码,可以直接看 【最新】LuaJIT 32/64 位字节码,从编译到使用全纪录。...│ │ └── x86 │ └── ios │ └── libluajit2.1.0-beta.3.a 编译适用于 iOS 的 Luajit 库,可能会遇到的问题 编译前的准备...LIBNAME=libluajit2.1.0-beta.3.a # iOS 最低兼容版本,最好与需要嵌入 LuaJIT 的 App 的最低兼容设置保持一致....编译适用于 Android 的 Luajit 库,可能会遇到的问题 完整的 Android 编译命令: build-android.sh #!
L (5.0) 以来就持续对安装系统进行 安全 以及 性能上的升级,此次的 android P (9.0)也不例外, 更大程度上对之前一些版本一些警告的具体落实,无论你的 Target Api 是否是...深灰名单: 对于 Target Api SDK 低于 API 28 的应用,允许使用深灰名单接口。 对于 Target Api SDK 为 API 28 或更高级别的应用:行为与黑名单相同。...Api,所以不必太在意,浅灰名单属于非常低级别的警告, 客户端适配迫切需要解决的是 黑名单 的列表: 黑名单 基本上是我们平时应用级开发不会用到的Api,例如: Lsun/util/calendar...是以 28+为目标版本,并且运行在 android P 之上,则这些热修复框架可能无法正常运行。...类似的限制也适用于 getConnectionInfo() 函数,该函数返回描述当前 Wi-Fi 连接的 WifiInfo 对象。
我们在项目开发过程中,常常需要查看API Level和sdk版本,来进行一些方法的调用,有时候还需知道对应发布的时间,可以来了解我们最低兼容到的版本是什么时候发布的。...history Platform Version API Level VERSION_CODE Issue Date Android 1.0 1 发条机器人 2008-09 Android 1.1 2...Petit Four 花式小蛋糕 2009-02 Android 1.5 3 Cupcake 纸杯蛋糕 2009-04 Android 1.6 4 Donut 甜甜圈 2009-09 Android...奇巧巧克力 2013-10 Android 5.0-5.0.2 21 Lollipop 棒棒糖 2014-11 Android 5.1 22 Lollipop 棒棒糖 2014-11 Android...Android 8.0 26 Oreo 奥利奥 2017-08 Android 8.1 27 Oreo 奥利奥 2017-12 Android 9 28 P - 2018-05
由于用户很难将位置信息权限与 Wi-Fi 功能相关联,因此 Android 13(API 级别 33)在 NEARBY_DEVICES权限组中引入了新的运行时权限,适用于管理设备与附近 Wi-Fi 接入点连接情况的应用...照片选择器:Android 13(API 级别 33)提供了全新的照片选择器体验(原先也有照片选择器,如果你用过就知道了)。...应用可以通过使用 isAudioDescriptionRequested() 查询音频说明轨道来遵循用户对音频说明轨道的偏好设置 附一份:API等级表 平台版本 API 级别 VERSION_CODE...Android 13 33 T Android 12 32 Sv2 Android 12 31 S Android 11 30 R Android 10 29 Q Android 9.0 28 Pie...Marshmallow Android 5.1 22 Lollipop Android 5.0 21 Lollipop 其中平台版本号小于当前,并大于前一个版本号。
此分析工具可帮助您确定 GPU 何时因尝试绘制像素而不堪重负,或何时因大量的过度绘制而被拖累。 注意:此分析工具不适用于使用 NDK 的应用。...在这种情况下,您可能会发现 GPU 制造商提供的分析工具很有帮助。 启用分析器 开始前,请确保您使用的是搭载 Android 4.1(API 级别 16)或更高版本的设备,并启用开发者选项。...检查输出 在图 1 中显示的 GPU 渲染模式分析图形的放大图像中,您可以看到 Android 6.0(API 级别 23)上显示的彩色部分。 ? 图 1. 放大的 GPU 渲染模式分析图形。...每个竖条都有与渲染管道中某个阶段对应的彩色区段。区段数因设备的 API 级别不同而异。 下表介绍了使用运行 Android 6.0 及更高版本的设备时分析器输出中某个竖条的每个区段。...Android 6.0 及更高版本中的竖条区段。 4.0(API 级别 14)和 5.0(API 级别 21)之间的 Android 版本具有蓝色、紫色、红色和橙色区段。
点击小卡片,回复 “合集” 获取系统性的学习笔记和测试开发技能图谱 背景 从 Android 9(API 级别 28)开始,Android 平台对应用能使用的非 SDK 接口实施了限制,只要应用引用非...级别): greylist 无限制,可以正常使用 blacklist 无论什么版本的手机系统,使用这些api,系统将会抛出异常 greylist-max-o 受限制的灰名单,APP运行在 版本的系统里 可以正常访问,targetSDK>8.0且运行在>8.0的手机会抛出异常 greylist-max-p 受限制的灰名单,APP运行在 版本9.0的系统里 可以正常访问,targetSDK>...9.0且运行在>9.0的手机会抛出异常 greylist-max-q 受限制的灰名单,受限制的灰名单。...不过veridex 工具存在以下局限性: 它无法检测到通过 JNI 实现的调用 它只能检测到一部分通过反射实现的调用 它对非活动代码路径的分析仅限于 API 级别的检查 它只能在支持 SSE4.2 和
我们都知道 iphone 和低版本 Android 抓包,只需要设置代理和配置证书就可以顺利抓包 但是升级了 targetSdkVersion 到 28 后发现,在 Android 7.0 以上机型 Charles...+ 的版本新增了证书验证(系统证书),具体如下: 1、Android 6.0(API 23)及更低版本应用的默认网络安全性配置如下: 9.0(API 28)及更高版本的默认网络安全性配置如下: Android 9.0(API 28)及更高版本上,不仅默认只系统预装的 CA 证书,还默认禁止所有明文通信(不允许 http 请求) 解决办法: 前提:在手机端和电脑端都必须安装 https...raw 文件夹下的方式也可以,但是繁琐了点 在 Android 9.0(API 28)以上允许部分 http 请求 最佳的解决方式肯定是全部使用 https 请求,安全性更高,如果有些请求或测试环境下还是需要使用