首页
学习
活动
专区
圈层
工具
发布

自动化检测 Android APP 非 SDK 接口使用,防止非预期异常发生!

点击小卡片,回复 “合集” 获取系统性的学习笔记和测试开发技能图谱 背景 从 Android 9(API 级别 28)开始,Android 平台对应用能使用的非 SDK 接口实施了限制,只要应用引用非...SDK 接口或尝试使用反射或 JNI 来获取其句柄,这些限制就适用,这些限制旨在帮助提升用户体验和开发者体验,为用户降低应用发生崩溃的风险,同时为开发者降低紧急发布的风险。...为了避免发生崩溃和意外行为,应用应仅使用 SDK 中经过正式记录的类,这也意味着当您的应用通过反射等机制与类互动时,不应访问 SDK 中未列出的方法或字段。...非 SDK API 名单 为最大程度地降低非 SDK 使用限制对开发工作流的影响,Google 将非 SDK 接口分成了几个名单,这些名单界定了非 SDK 接口使用限制的严格程度(取决于应用的目标 API...不过veridex 工具存在以下局限性: 它无法检测到通过 JNI 实现的调用 它只能检测到一部分通过反射实现的调用 它对非活动代码路径的分析仅限于 API 级别的检查 它只能在支持 SSE4.2 和

1.3K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android 9.0适配及部分新特性介绍

    也可以使用命令扫描整个app里面存在的非 SDK 接口: 1appcompat.sh --dex-file=apk路径 如: /Users/Clem/常用工具/runtime-master-appcompat.../veridex-mac/appcompat.sh --dex-file=/Users/Clem/常用工具/runtime-master-appcompat/app-jianrongsudai-debug.apk...白名单:即SDK 浅灰名单(72个):仍可以访问的非 SDK 函数/字段 深灰名单(7个):对于目标 SDK 低于 API 级别 28 的应用,允许使用深灰名单接口; 对于目标 SDK 为 API...API 28也提供了新的类: DisplayCutout 类,该类主要用于获取凹口位置和安全区域的位置等。...此外,API 28中还提供了新的布局参数属性 layoutInDisplayCutoutMode ,包含了三种不同模式: 模式 模式说明 LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT

    3.7K40

    API level targeting to 28,准备好了吗?

    Google Play的目标API级别要求:Google Play 要求新应用(自2019年8月1日起)和应用更新(自2019年11月1日起)将目标API级别至少设为28(至少为Android9.0)。...dark-greylist(深灰名单):targetSdkVersion小于28时仍可继续使用此名单中的接口,但会出现警告提示;大于等于28时,这些接口将会限制访问。 (3)....使用StrictMode API 进行测试 (3). 使用google工具veridex 对应用进行扫描 可以在APK上运行静态分析工具veridex。...它对非活动代码路径的分析仅限于API 级别的检查。 【4....如果您的应用有多个使用Web View,CookieManager或android.webkit包中的其他API的进程,则当第二个进程调用WebView方法时,您的应用将崩溃。 【6.

    1.8K20

    【活动公告】Hackathon —— 腾讯云AI API接入迷你赛

    一、 活动简介 编程马拉松(Hackathon)是将热爱软硬件开发的人聚集起来所举办的一项比赛,本次活动由腾讯云AI联合云+社区发起,希望让广大开发者体验到腾讯云AI的魅力。...比赛过程中,参赛者可以尽情发挥自己的创意及想法,在短时间内用自己所熟悉的代码及环境,调用腾讯云API识别接口,并输出腾讯云AI 接入体验反馈,赢取丰厚奖品。...三等奖6名:腾讯云代金券(2张满200减100券)+ 腾讯云加社区定制水杯 hack4.png 参与奖10名:腾讯云代金券(1张满200减100券) 三、 活动日程: 8月28日 活动启动 9月2日至...9月13日 提交社区文章和问卷 9月16日至9月18日 公布结果 四、 活动要求 本次Hackathon不限创意类型,但开发使用过程中,数据采集部分,需得到使用方同意。...腾讯云 AI 团队在本次活动中提供10000次人脸识别、1000次OCR识别、50次人脸核身,30小时录音文件识别,15小时实时语音识别,15000次一句话识别, 自然语言处理等免费额度。

    4.9K122

    Android Support 和 AndroidX

    0x2、AndroidX Library的出现 从Android 9.0 (API 28) 开始,appcompat-v7:28.0.0 作为 Support Library的 终结版本,未来的新特性和改进都会进入...*包下的API都是随系统发布的,而androidx.包下的API都是随着扩展库发布的,API基本不依赖于操作系统的具体版本; ② 命名规则 → AndroidX Library 中所有的库命名规则不再包含具体的操作系统...API版本号,如下面的appcompat-v7变成了appcompat库; api 'com.android.support:appcompat-v7:28.0.0' api 'androidx.appcompat...to AndroidX 注:一键迁移,compileSdkVersion需大于等于28,否则会提示:You need to have at least have compileSdk 28 set in...升级到4.6及以上,可在gradle/wrapper/gradle-wrapper.propertie 中修改distributionUrl指向版本号; compileSdkVersion → 升级到28

    2.9K10

    如何使用IP归属地查询API来追踪网络活动

    引言在当今数字化世界中,了解网络活动的源头和位置对于网络安全、市场研究和用户体验至关重要。IP归属地查询API是一种强大的工具,可以帮助您追踪网络活动并获取有关IP地址的重要信息。...本文将探讨如何使用IP归属地查询API来追踪网络活动,以及它在不同领域的实际应用。什么是IP归属地查询API?...通过查询API,您可以快速获得有关特定IP地址的详细信息,从而更好地了解网络活动。如何使用IP归属地查询API?...以下是使用IP归属地查询API来追踪网络活动的基本步骤:1.申请接口首先,您需要选择一个可靠的IP归属地查询API供应商。确保供应商提供高质量的数据和良好的技术支持。...图片2.获取API密钥注册并获取您的API密钥,这将允许您访问供应商的API。密钥通常用于身份验证和跟踪您的API使用情况。

    1.2K20

    【你找茬儿,我发奖】腾讯云 API 文档“捉虫”活动

    API首图.pngAPI 输入参数描述错误?输出参数缺失?示例无法跑通?腾讯云 API 文档“捉虫”活动等你来!...即日起,发现并反馈API文档问题,即可赢取代金券、周边好礼拿不停~活动时间:长期有效,按月评奖活动范围:腾讯云全产品API文档参与流程.png1、参考API文档,测试 API 接口登录腾讯云官网,进入...2)本次“腾讯云 API 文档捉虫活动”与“腾讯云文档有奖反馈活动”有什么区别?是否可重复获奖?...答: “腾讯云文档有奖反馈活动”是为激励广大用户积极反馈文档问题而长期开展的一项用户回馈活动,覆盖全产品文档,长期有效。“ 腾讯云 API 文档捉虫活动”的检视对象为全产品API文档。...用户可同时参加两项活动,同一时间窗内,同一问题不重复计分和奖励。如:用户反馈的某个问题若符合“腾讯云 API 文档“捉虫”活动”范围,则优先参加该活动评奖。

    16.7K5317

    警告:Android P(禁用非官方API)

    刷完包之后迫不及待的测试了非官方禁用API,测试结果和大家猜测的一样,Android p会给大家弹出toast告知禁止使用非官方API,具体内容请参考:co/dev/appcompat,最终的链接地址为...看点 01 禁用非官方API原因 关于为何要减少非官方接口,提高应用稳定性,在2018年2月28日,Google官方有此类声明:原文地址: https://android-developers.googleblog.com...目的是为了确保Android开发者和使用者的稳定性,为减少非官方API带来的崩溃,Google一直在努力着。 看点 02 如何区分官方API和非官方API ?...图中执行结果让访问g.co/dev/appcompat正如我们上文中前言的内容,我们再来看下打印的日志: ?...对于使用非官方API的内容请大家及时留意,不要因为一个不留神触碰到了源码Bug造成了大量的崩溃哦,赶紧查看下自己的应用有没有使用到这些吧,提前做好准备哦。。。

    1.4K30

    警告:Android P(禁用非官方API)

    ,Android p会给大家弹出toast告知禁止使用非官方API,具体内容请参考:co/dev/appcompat,最终的链接地址为:https://developer.android.com/preview...看点 01 禁用非官方API原因 关于为何要减少非官方接口,提高应用稳定性,在2018年2月28日,Google官方有此类声明:原文地址: https://android-developers.googleblog.com...目的是为了确保Android开发者和使用者的稳定性,为减少非官方API带来的崩溃,Google一直在努力着。...,通过反射Filed WIFI_SCAN_AVAILABLE 来打印隐藏Field的值,在pixel Android P预览版执行结果如图所示: 图中执行结果让访问g.co/dev/appcompat...对于使用非官方API的内容请大家及时留意,不要因为一个不留神触碰到了源码Bug造成了大量的崩溃哦,赶紧查看下自己的应用有没有使用到这些吧,提前做好准备哦。。。

    2.6K40

    关于Support库28及以上版本无法查看源码问题

    .* 这种类型的支持库,比如implementation 'com.android.support:appcompat-v7:28.0.0' implementation 'com.android.support.constraint...这个时候你新建的项目如果编译的时候用的 api 28,也就是在build.gradle 中是 compileSdkVersion 28 这个是你会发现,当你查看 support 库中的代码的时候没法看了...这是因为在 Android9.0(API 级别 28)发布后,新版本支持库 AndroidX 随之诞生了,它属于 JetPack,除了包含了原先支持库中的内容,还包含了最新的 JetPack 组件。...在使用 api 28 的时候我们仍然可以继续使用支持库,不过所有的新库的开发都在 androidx 中进行了,因此我们是看不到源码的(之前的版本是可以看到源码的),Google 建议所有的新项目使用 androidx...implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.android.support:appcompat-v7

    79210
    领券