- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
根据Google ,从 2021 年 8 月开始,所有新的 Google Play 应用程序除了派生为 Android 应用程序包外,都需要以 API 30 为目标。此外,从 2021 年 11 月开始,即使是应用程序更新也需要符合要求。
因此,我将我的应用程序从目标 API 29 更新到 API 30,并且某些功能出现问题。我如何找出原因?来自 list of changes由 Google 给出,这并不明显,因为这不仅仅是检查是否正在使用某些已弃用的 API 的问题。
理想情况下,如果 Android Studio 可以提供一种方法来查看 API 30 中的功能如何影响我的应用行为,那就太酷了。
最佳答案
我在 Android 开发者选项中发现了一个很酷的功能,称为应用程序兼容性更改。 Google 描述了这些 Compatibility Framework Tools这样:
Android 11 introduced new developer tools for testing and debugging your app against the behavior changes in newer versions of the Android platform. These tools are part of a compatibility framework that lets app developers turn breaking changes on and off individually using developer options or ADB. Use this flexibility as you prepare to target the latest stable API version and as you test your app with the preview release of the next Android version.
哇,在手机上查看它,看来您实际上可以单独打开或关闭每个新功能/更改?
好吧,让我们看看;首先,它为我们提供了设备上所有可调试应用程序的列表,如果我们选择其中一个(例如,针对 API 29),那么我们实际上可以单独打开/关闭每个 API 30 功能,如下例所示,使用 CALLBACK_ON_CLEAR_CHANGE。
酷!只需注意两点:这仅适用于可调试应用程序;如果您想打开/关闭 API 30 的功能,请针对低于它的 API 级别(即本例中的 API 29)构建可调试应用程序,然后打开/关闭功能并进行测试!如果您不知道哪个功能导致了问题,您可以通过选择 30 个左右的更改中的一半来加快搜索速度,看看问题是否存在,等等,放大到右侧切换。
关于android - 当我将 targetSDK 设置为 API 30 后,我的 Android 应用程序无法正常工作;我如何找出原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69758511/
我正在构建一个 Android 应用程序,该应用程序应在每台具有蓝牙低功耗的设备上运行,这意味着 minSDK 为 18。不过,我不确定应该使用哪个 targetSDK。我在网上看到,最好始终为此使用
我正在经历这个 article ,它说 将项目的 compileSdkVersion 和 targetSdkVersion 更新为 API 28 。所以我做了,但是支持库给出了错误,比如支持库不应该使
我想知道使用 targetSDK > buildTarget 的后果。 我最近观察到,如果我在平板电脑上保留 buildTarget=16 和 targetSDK=17 选项卡(运行 4.1.1, A
我有一个 Android 应用程序,它只需要访问互联网,并且希望以 API 级别 3 (1.5) 为目标,以覆盖最广泛的手机用户群。但是,似乎以 API 级别 3 为目标隐含地需要两个对用户可见的额外
我希望在我的项目中实现一个简单的方法 isInternetAvailable,它根据调用时互联网(任何网络)是否可用返回 true 或 false。 不幸的是 getActiveNetworkInfo
我正在使用 Android Build Target API 24 (OS 7) 编写 Android 应用程序。对于 API 23 及以上版本,我必须提示 ACCESS_COARSE_LOCATIO
当我在 google PlayStore 上为我的应用程序上传更新时,它显示一条警告说我的应用程序必须有 target sdk >= 28 直到八月。我的应用使用 target sdk = 27 问题
我正在尝试制作一个具有抽屉功能的应用程序,并想设置手机上已经拥有谷歌帐户的用户的姓名、电子邮件和个人资料图片。但是,我不希望用户要求登录,所以我使用了 AccountManager.get(this)
如何在 android studio 中将应用程序的目标 sdk 从 api 10 更改为 api 17?我的应用程序在 4.1 版本的 android 移动设备中没有从互联网接收数据,但在 2.3.
将我的 targetSDK 版本更新到 28 后,我无法使用 SnackBar Must be one of BaseTransientBottomBar.LENGTH_INDEFINITE, Bas
我有应用程序(当前 targetsdkversion 是 23)在版本 4.4 和 5.1 中运行,但使用 6.0 它需要运行时权限。 这需要一些编码更改,我宁愿推迟一段时间。将 targetsdkv
我正在尝试禁用 Android StrictMode 检查之一 - 检测未标记的套接字。 我有几个理由这样做: 我们的应用程序中使用的一些库,例如Crashlytics/毕加索等 在内部使用 OkHt
在合并 AndroidManifest 文件的过程中,当主项目和库项目的 minSDKVersions 不匹配时,Android Studio 会抛出构建错误。这意味着我必须重新访问我的应用程序支持的
我刚刚将一个项目从 Exclipse 迁移到 Android Studio。build.gradle 文件有一个部分包括: defaultConfig { applicationId "com
根据Google ,从 2021 年 8 月开始,所有新的 Google Play 应用程序除了派生为 Android 应用程序包外,都需要以 API 30 为目标。此外,从 2021 年 11 月开
这是我的配置和我的异常,我不知道如何解决这个问题? compileSdkVersion 23 buildToolsVersion "23.0.1" defaultConfig { applic
上下文: meteor 1.8.0.1 Cordova 6.4.0(包含在 Meteor 中) phonegap-plugin-push 1.11.1(支持 GCM 的最新版本) 通过 Amazon
我在 Playstore 中有一个 Flutter 应用程序,如果你有 Android 12,它只会弹出一条错误消息: “无法安装 AppName” 我的 Flutter 版本是 2.5.0 由于我的
我已经从版本 0.64.1 升级了 react-native至0.65.0-rc.3因为targetSdk=30需要从 8 月 1 日 21 日起将 bundle 发布到 Google Play。我正
我是一名优秀的程序员,十分优秀!