Per*_*eri 6 java android android-studio targetsdkversion
我是一个用于 Android 应用程序的库的作者。目前正在检查我的库在 Android 14 (API 34) 上的行为方式。
现在,API 34 删除了几个现有方法。例如,该方法android.webkit.WebSettings#setAppCacheEnabled
已被删除。
https://developer.android.com/about/versions/14/behavior-changes-14#non-sdk-restrictions
值得注意的是,我的图书馆使用WebSettings#setAppCacheEnabled
.
我已将该库安装到新创建的应用程序中以确保其正常工作。我的图书馆是用targetSdkVersion 28
和构建的compileSdkVersion 28
。我为 Android 14 创建的应用程序是使用targetSdkVersion 34
和构建的compileSdkVersion 34
。
该库和应用程序的 AndroidManifest 将由 ManifestMerger 合并,并且两者都应适用于 API 34。
我预计这个测试应用程序无法正常工作,因为WebSettings#setAppCacheEnabled
它在 API 34 中被删除了。但事实上,与我的预期相反,没有发生错误。为什么是这样?
谁知道为什么,请告诉我。
(我在 Android 14(UpsideDown Preview)模拟器上执行了此测试。)
小智 -1
目前,您正在使用的方法只能添加到不受支持的类别中,因此您可以使用它。将来可能会被阻止。
\n\n\n有条件阻止 (greylist-max-x):-
\n从 Android 9(API 级别 28)开始,每个 API 级别都有非 SDK\n接口,当应用面向该 API 级别时,这些接口会受到限制。
\n这些列表以应用程序无法再访问该列表中的非 SDK 接口之前可以定位的最大 API 级别 (max-target-x) 进行标记。例如,在 Android Pie 中未阻止但现在在 Android 10 中被阻止的非 SDK 接口是 max-target-p (greylist-max-p) 列表的一部分,其中 \xe2\x80\x9cp\ xe2\x80\x9d 代表 Pie 或\nAndroid 9(API 级别 28)。
\n如果您的应用尝试访问受您的目标 API 级别限制的接口,则系统的行为就像该 API 属于阻止列表的一部分一样。
\n
检查这个: https: //developer.android.com/guide/app-compatibility/restrictions-non-sdk-interfaces#list-names
\n 归档时间: |
|
查看次数: |
546 次 |
最近记录: |