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

Android P 适配指南

, 更大程度上对之前一些版本一些警告的具体落实,无论你的 Target Api 是否是 28 都将受到影响。...深灰名单: 对于 Target Api SDK 低于 API 28 的应用,允许使用深灰名单接口。 对于 Target Api SDK 为 API 28 或更高级别的应用:行为与黑名单相同。...黑名单:无论 Target Api SDK 如何。 平台将表现为似乎接口并不存在。...影响范围最大的当属 深灰名单, 因为官方强烈不推荐使用,但是为了给开发者缓冲时间,只有 Target Api 28+ 才会出现异常,代表性的 Api 有 DexFile 类: Ldalvik/system...Target 28+ 并使用前台服务的应用必须请求 FOREGROUND_SERVICE 权限。 这是 普通权限,因此,系统会自动为请求权限的应用授予此权限。

3.7K20

AndroidP升级之路

详情见Android官方文档 · 如果设备运行的是 Android 5.1 或更低版本,或者应用的目标 SDK 为 22 或更低:如果您在清单中列出了危险权限,则用户必须在安装应用时授予此权限;如果他们不授予此权限...· 如果设备运行的是 Android 6.0 或更高版本,或者应用的目标 SDK 为 23 或更高:应用必须在清单中列出权限,并且它必须在运行时请求其需要的每项危险权限。...1、 确认各个组件的SDK编译版本 2、 与组件方确认是否需要升级 3、 逐个升级与测试 AndroidP升级过程总结 从2019年下半年,所有安卓外部应用市场强制要求应用升级到TargetVersion...详情见Android官方文档 · 如果设备运行的是 Android 5.1 或更低版本,或者应用的目标 SDK 为 22 或更低:如果您在清单中列出了危险权限,则用户必须在安装应用时授予此权限;如果他们不授予此权限...· 如果设备运行的是 Android 6.0 或更高版本,或者应用的目标 SDK 为 23 或更高:应用必须在清单中列出权限,并且它必须在运行时请求其需要的每项危险权限。

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

    Android 10 WebView 踩坑实录

    版本选择坑 Chromium 源码更新非常平凡,而且架构也经常变化,不像我们做项目,一套代码恨不得修修补补用上十几年。...上一个项目是基于 Chromium V53 进行定制的,这次并不想采用最新的 Chromium 版本,大概浏览了一下最新源码,和 V53 差别太大,以往的定制工作要移植过来相当麻烦。...方法就是查看这个 sdk.gni 的修改记录,看看哪个提交从 "p" 修改到 "q"。...另外有指导将 MTU 大小设置为 14000,但在 Ubuntu 上无法设成功,我尝试出来的最大值为 9000。...原因是 Ubuntu 20.04 使用的 JDK 版本为 11,但这个版本的 Chromium 编译需要 JDK 8,解决的方法就是将 JDK 切换到 JDK: $ java --version openjdk

    2.3K50

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

    【前言】 小编负责的地图手表项目,和Google合作,需要尽快完成targetsdk升级的适配测试工作。...Google Play的目标API级别要求:Google Play 要求新应用(自2019年8月1日起)和应用更新(自2019年11月1日起)将目标API级别至少设为28(至少为Android9.0)。...第三方的sdk 例如地图项目:分享、登录注册、滴滴打车 (5). wap页面 例如:webview打开图片等、常见问题及帮助等 (6)....如果您的应用有多个使用Web View,CookieManager或android.webkit包中的其他API的进程,则当第二个进程调用WebView方法时,您的应用将崩溃。 【6....现在这个方法被弃用了,Build.SERIAL将始终设置为 "UNKNOWN" 以保护用户的隐私。

    1.5K20

    Open Measurement -Android SDK

    支持的版本 OM SDK支持Android API 14,Android 4.01,Ice Cream Sandwich及更高版本 最初设定 在继续进行具体的广告格式说明之前,请执行以下设置步骤: 导入...Handle appropriately. } 注意:IllegalArgumentException如果参数为null ,则此方法调用将引发。 2.获取OM SDK JS库。...版本字符串应以语义版本控制格式表示集成版本。对于广告SDK,此名称应与SDK的语义版本相同。对于应用发布者,此版本应与您的应用版本相同。...设置视图 设置跟踪可见性的视图。对于WebView广告,这将是WebView本身。...请参阅WebView显示的此步骤。本指南假定广告响应将包含HTML(将呈现视频播放器)以及VAST组件。 3.将OM SDK JS库注入广告响应中。 请参阅WebView Display的此步骤。

    4.2K20

    QQ 音乐 Android 吃 Pie 之路

    除上面介绍的特殊情况之外还是建议更换最新版本的官方 SDK。...四、Apache HTTP client 相关类找不到 将 compileSdkVersion 升级到 28 之后,如果在项目中用到了 Apache HTTP client 的相关类,就会抛出找不到这些类的错误...在音乐项目中,我们已经将使用 Apache HTTP client 的模块单独抽离到了一个 module 中,所以暂时只需要保持 module 中的 compileSdkVersion 在 28 以下即可正常编译运行...当下不少应用会把 webview 放在另一个进程中打开以避免内存泄漏,但是他们 cookies 的设置往往还是在主进程中,所以开发者需要仔细排查自己的应用是否有这么使用,webview 相关运行是否正常等...4.3 com.android.internal 包下某些类找不到 升级到 28 之后,应用编译后抛出 com.android.internal 包下面有些类找不到的异常,经过查找发现这些类已经从 SDK

    3.7K120

    Flutter Android 工程结构及应用层编译源码深入分析

    [在这里插入图片描述] Flutter 模块依赖及产物概览 当我们在 yaml 文件中添加依赖后执行flutter pub get命令就会自动从依赖配置的地方下载或复制。.../webview_flutter为例,这个目录下 lib 及对应平台目录为项目主要依赖,如下: [在这里插入图片描述] 对应在 Android Studio 中依赖展开的样子如下: [在这里插入图片描述...* 2、获取flutter.sdk路径。 * 3、获取flutter.versionCode值,此值在编译时自动从pubspec.yaml中读取赋值,所以修改版本号请修改yaml。...* 4、获取flutter.versionName值,此值在编译时自动从pubspec.yaml中读取赋值,所以修改版本号请修改yaml。...SDK directory") } //8、获取Flutter Engine的版本号,如果通过local-engine-repo参数使用本地自己编译的Engine则版本为+,否则读取

    3.6K33

    C#开发BIMFACE系列52 CS客户端集成BIMFACE应用的技术方案

    这一渲染引擎是开源引擎WebKit中WebCore组件的一个分支,并且在Chrome(28及往后版本)、Opera(15及往后版本)和Yandex浏览器中使用。...当控件Dock属性设置为 Fill,客户端电脑的缩放与布局不是100%时,窗体呈现黑边(严重bug),并没有完全填充父容器。...开源地址:https://github.com/weolar/miniblink49/releases GeckoFX   GeckoFX是skybound工作室开发的一个开源的用于方便将gecko引擎...通过NeGet下载SDK时,仅下载以下3个类库。DLL尺寸较小,对项目安装包大小几乎没有影响。 运行WebView2时,首先需要下载并 WebView2 运行时安装程序。...WebView2 Runtime x86,x64自动识别,不需要手动设置。 WinForm、WPF、.NET Core 都可以用一个统一的包。 实际项目应用效果如下图。

    5.1K10

    Android 9 适配怎么做? “QQ音乐”优化实录

    四、Apache HTTP client 相关类找不到 将 compileSdkVersion 升级到 28 之后,如果在项目中用到了 Apache HTTP client 的相关类,就会抛出找不到这些类的错误...在音乐项目中,我们已经将使用 Apache HTTP client 的模块单独抽离到了一个 module 中,所以暂时只需要保持 module 中的 compileSdkVersion 在 28 以下即可正常编译运行...当下不少应用会把 webview 放在另一个进程中打开以避免内存泄漏,但是他们 cookies 的设置往往还是在主进程中,所以开发者需要仔细排查自己的应用是否有这么使用,webview 相关运行是否正常等...4.3 com.android.internal 包下某些类找不到 升级到 28 之后,应用编译后抛出 com.android.internal 包下面有些类找不到的异常,经过查找发现这些类已经从 SDK...解码代码也很简单,支持将 HEIF 格式图片解码成 Bitmap 和 Drawable: @TargetApi(28) fun decodeHEIFDrawable(filePath: String)

    2.6K20

    Android 9 适配怎么做? “QQ音乐”优化实录

    四、Apache HTTP client 相关类找不到 将 compileSdkVersion 升级到 28 之后,如果在项目中用到了 Apache HTTP client 的相关类,就会抛出找不到这些类的错误...在音乐项目中,我们已经将使用 Apache HTTP client 的模块单独抽离到了一个 module 中,所以暂时只需要保持 module 中的 compileSdkVersion 在 28 以下即可正常编译运行...当下不少应用会把 webview 放在另一个进程中打开以避免内存泄漏,但是他们 cookies 的设置往往还是在主进程中,所以开发者需要仔细排查自己的应用是否有这么使用,webview 相关运行是否正常等...4.3 com.android.internal 包下某些类找不到 升级到 28 之后,应用编译后抛出 com.android.internal 包下面有些类找不到的异常,经过查找发现这些类已经从 SDK...解码代码也很简单,支持将 HEIF 格式图片解码成 Bitmap 和 Drawable: @TargetApi(28) fun decodeHEIFDrawable(filePath: String)

    89830

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

    1、Android 9.0应用迁移 1.1 概述 在最开始针对速贷进行Android9.0版本的适配时,我使用的是真机是vivo X21A,将targetSdkVersion升到28,运行发现网络请求全报...1.2.2 targetSdkVersion 设置为 28 时影响应用的关键变化(列举了常用的,具体看官方文档): * 默认情况下启用网络传输层安全协议 (TLS):如果应用以 Android 9 或更高版本为目标平台...白名单:即SDK 浅灰名单(72个):仍可以访问的非 SDK 函数/字段 深灰名单(7个):对于目标 SDK 低于 API 级别 28 的应用,允许使用深灰名单接口; 对于目标 SDK 为 API...28 或更高级别的应用:行为与黑名单相同 黑名单(0个):受限,无论目标 SDK 如何,平台将表现为似乎接口并不存在 列入浅灰名单的非 SDK 接口包含可以在 Android 9 中继续工作的函数和字段...针对问题三:测试了一下只有targetSdkVersion 设置为 28时才会出现该问题,与设备的系统版本无关,上蚂蚁金服平台查了下最新文档发现,App支付功能近期有了更新和升级,具体来说就是:打包方式更换为

    3.5K40

    Android 12的行为变更和版本兼容思路

    确保将您的SDK级别更新为新的默认值(BEHAVIOR_SHOW_BARS_BY_SWIPE)。否则,将BEHAVIOR_SHOW_BARS_BY_TOUCH 保留默认值。...针对目标版本为Android 12应用的变更 隐私 WebView中的Modern SameSite cookie行为 Android的WebView组件基于Chromium(Chromium),Chromium...将您的应用编译为以Android 12为目标targetSdkVersion。 如果使用这种方法,则必须使用运行Android 12和WebView 89.0.4385.0或更高版本的设备。...如果您的测试或开发工作流程使用依赖于应用程序数据adb backup,您现在可以通过在应用程序的清单文件中设置android:debuggable 来选择导出应用程序的数据 true。...注意:为帮助保护您的应用程序数据,请记住在发布应用程序之前将其设置android:debuggable 为false。

    5.5K10

    看完就懂的Hybrid框架设计方案

    这种方案会侵入到打包流程,可能需要通过 loader 和规则来做一些删除代码的工作,相对来说会复杂一些。但本身来说一个项目工程构建出多个离线包就是一个相对复杂的事,需要根据实际情况来设计打包流程。...版本控制分为两部分: 离线包构建时需要明确支持的最高 App 版本,版本信息可以放到项目工程配置文件里。...在设计时,离线包版本通过一个虚拟的版本号(这里表示为 SDK@ver)来对应 App 版本,这样好处是 SDK 可以映射不同端 App 版本(iOS、Android、鸿蒙 App 版本号不一致),App...当我们用 App@10.1.0 去拉取离线包时,应该返回什么版本呢?...将整个 Header 分为三个区域: 左边区域比较简单,只有一个返回按钮,关闭当前 Webview。 标题部分,可以设置标题和子标题,注意需要控制和 document.title 的关系。

    3K31

    WinForm 直接运行 Admin.NET

    新建winform项目添加包Furion.Pure与Microsoft.Web.WebView2引用项目:Admin.NET.Web.Core从Admin.NET.Web.Entry项目复制appsettings.json...使用本项目应遵守相关法律法规和许可证的要求。//// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。...//// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!...使用本项目应遵守相关法律法规和许可证的要求。//// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。...Sdk="Microsoft.NET.Sdk">改为Sdk="Microsoft.NET.Sdk.Web">新建wwwroot目录,将前端生成的文件复制到wwwroot

    14600

    android 置灰不可点击,Android Studio 运行按钮灰色的完美解决方法

    Android Studio 运行按钮灰色的完美解决方法 今天新建项目的时候突然发现编译后运行按钮为灰色。...在app下创建libs 文件夹,将 图片红框3放入:然后在src/main下创建JniLibs,将图片红框1,2 放入. 4,在app的gradler.b 问题背景 在排查项目内存泄漏过程中发现了一些由...WebView引起的内存泄漏,经过测试发现该部分泄漏只会出现在android 5.1及以上的机型.虽然项目使用WebView的场景并不多,但秉承着一个泄漏都不放过的精神,我们肯定要把它给解决了....遇到的问题 项目中使用WebView的页面主要在FAQ页面,问题也出现在多次进入退出时,发现内存占用大,GC频繁.使用LeakCanary观察发现有两个内存泄漏很频繁: 我们分析一下这两个泄漏: 从图一我们可以发现是...将项目分享到github 1.

    14.9K11

    042android初级篇之android混淆代码ProGuard

    混淆代码能有效防止被反编译,防止自己的劳动成果被别人窃取; 混淆配置文件及开关的设置 配置文件的位置以及开关的设置位置,android studio 和eclipse稍微有些差异,这里以android...sudio为例: android工程中混淆配置文件:proguard-rules.pro (默认文件名) 混淆开关: 在 build.gradle buildTypes { release {...版本时,设置minifyEnabled为true,即使用proguard-rules.pro混淆脚本进行混淆。...class/merging/* #如果项目中有用到注释,则加入 -keepattributes *Annotation* -keepattributes Signature #用到的相关支持包...每次发布都要保留它方便该版本出现问题时调出日志进行排查,它可以根据版本号或是发布时间命名来保存或是放进代码版本控制中。 2. dump.txt 描述apk内所有class文件的内部结构。

    1.2K30

    非 SDK 接口常见问题 | Android 开发者 FAQ Vol.13

    28):允许调用深灰名单中的接 若应用的 target SDK 为 Android P 或更高 (即 targetSdkVersion >= 28):深灰名单与黑名单的限制相同 黑名单:不论 target...SDK 版本为多少,所有应用均不允许调用黑名单接口。...开发者可下载 AOSP 开源项目,然后通过以下命令生成黑名单:make hiddenapi-aosp-blacklist 生成文件的路径为:out/target/common/obj/PACKAGING...OEM 厂商可以在黑名单中添加自己的 API,但是不允许从原始 / AOSP 黑名单 (或灰名单) 中移除项目。...我们会加大调用非 SDK 接口的难度,确保应用兼容性,与此同时找到一个比较好的平衡点,方便运行时的调试。我们将继续开展具体实现的评估工作,与开发者保持积极合作。

    1.5K30

    Appium自动化测试框架

    调试(root) Hybrid自动化测试脚本编写 ---- 环境搭建 JDK环境安装(不介绍,自己百度) 安卓SDK环境安装 百度网盘下载链接,密码: kgwb 安卓SDK可以直接从下面的镜像连接进行下载...\tools 安装Appium-DeskTop 手机模拟器下载夜神模拟器 为了防止可能存在的SDK冲突,建议将夜神模拟器安装目录下的nx-adb.exe替换为我们安装的SDK目录的adb.exe....txt文件发送到手机的SDK卡,SDK卡的根目录名固定为/sdcard ---- 从手机获得数据 adb pull 手机的文件路径 电脑的文件夹路径 例如: adb pull /sdcard/stu.sql...Appium提供对Hybrid app进行自动化测试的方法= 基于UIAutomator+ChromeDriver 准备工作: 准备android 4.4+ 版本以上的手机/模拟器 在app源码中将...打开手机端的开发者选项 对于原生界面来说,都会被线条包裹起来 对于webview界面来说,中间一部分是一整个控件,并没有被线条包裹起来,则该页面为webview ---- 线上app开启webview

    2.4K30
    领券