Android14弹窗问题

这篇具有很好参考价值的文章主要介绍了Android14弹窗问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

弹窗问题

升级安卓14后,应用没有适配对应的CPU架构而被系统强制弹窗,弹窗流程可见参考应用弹窗“此应用专为旧版Android打造,因此可能无法正常运行…”的原因,应用层面没办法去干扰这个流程,应该是在安装时有检测相关的包。

  1. 弹窗共有两个:此应用与最新版 Android 不兼容。请检查是否有更新,或与应用开发者联系。deprecated_abi_message
  2. 此应用专为旧版 Android 系统打造。它可能无法正常运行,也不包含最新的安全和隐私保护功能。请检查是否有更新,或与应用开发者联系。deprecated_target_sdk_message

从安卓源码中可以搜索到Android14弹窗问题,android-studio,java

问题1

在abiFilter申明arm64-v8a,此操作可能会导致异常,某些库并没有支持,需要更换。

android{ 	
    defaultConfig { 		
        ndk {             
            abiFilters "armeabi", "armeabi-v7a", "x86", "arm64-v8a"         
        } 	
    } 
}

在安卓源码中搜索deprecated_abi_message,可以找到一个DeprecatedAbiDialog,此类下有提交日志,显示是需要适配64位的
Android14弹窗问题,android-studio,java

问题2

修改targetSdkVersion为28
在安卓源码中搜索deprecated_target_sdk_message,可以找到一个DeprecatedTargetSdkVersionDialog弹窗,它由AppWarnings.showDeprecatedTargetDialogIfNeeded拉起,判定是否拉起的关键是Build.VERSION.MIN_SUPPORTED_TARGET_SDK_INT,搜索这个变量,在frameworks/base/core/java/android/os/Build.java可以找到如下解释

/**          
 * The current lowest supported value of app target SDK. Applications targeting          
 * lower values may not function on devices running this SDK version. Its possible          
 * values are defined in {@link Build.VERSION_CODES}.          
 *          
 * @hide          
 */         
public static final int MIN_SUPPORTED_TARGET_SDK_INT = SystemProperties.getInt(                 
    "ro.build.version.min_supported_target_sdk", 0);

搜索这个变量ro.build.version.min_supported_target_sdk,可以在build/make/tools/buildinfo.sh中找到脚本输出了PLATFORM_MIN_SUPPORTED_TARGET_SDK_VERSION的值,在build/make/core/version_util.mk中可以找到这个变量被设置为28。
为什么是28,回到frameworks/base/core/java/android/os/Build.java文件下,可以找到对应的版本说明,其中有提到前台服务的问题,而安卓14中对前台服务startForeground()有新的要求,可能是这个原因导致targetSdkVersion必须达到28

/**
 * P.
 *
 * <p>Released publicly as Android 9 in August 2018.
 * <p>Applications targeting this or a later release will get these
 * new changes in behavior. For more information about this release, see the
 * <a href="/about/versions/pie/">Android 9 Pie overview</a>.</p>
 * <ul>
 * <li>{@link android.app.Service#startForeground Service.startForeground} requires
 * that apps hold the permission
 * {@link android.Manifest.permission#FOREGROUND_SERVICE}.</li>
 * <li>{@link android.widget.LinearLayout} will always remeasure weighted children,
 * even if there is no excess space.</li>
 * </ul>
 *
 */
public static final int P = 28;

安卓源码可以在Android Code Search上查看,以上源码于2023-10-25查阅文章来源地址https://www.toymoban.com/news/detail-758885.html

到了这里,关于Android14弹窗问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android studio “Layout Inspector“工具在Android14 userdebug设备无法正常使用

    背景描述 做rom开发的都知道,“Layout Inspector”和“Attach Debugger to Android Process”是studio里很好用的工具,可以用来查看布局、调试系统进程(比如setting、launcher、systemui)。 问题描述 最进刚开始一个Android 14的项目,刷userdebug版本后,发现“Layout Inspector”和“Attach Debugger to

    2024年02月07日
    浏览(32)
  • Android12(S)授权弹窗被悬浮窗遮挡导致无法点击问题分析

    在测试过程中发现,部分情况下当应用请求权限时,权限授予弹窗中的选项无法点击,有时候又可以。点击其他区域发现是可以正常响应,获取按键事件,发现触摸是有正常上报事件的,所以可以排除是触摸失灵导致。 既然是权限授予弹窗无法点击,那么我们就去找权限管理

    2024年02月11日
    浏览(28)
  • Android Studio相关问题

    去官网下载即可,最新版如果运行不了,可选择安装其他版本,我安装的就是4.0版本 一般就是建立一个空项目 如果使用过idea,那么建立项目就很简单。因为Android Studio和 idea 界面都差不多,功能也类似 步骤: File——New——New Project 会出现以下画面: 然后选择 Empty Act

    2024年02月03日
    浏览(25)
  • Android Studio 和 Android Gradle 插件的已知问题

    渲染 Compose 预览时出错 从 Android Studio Chipmunk 开始,如果您在问题面板中看到  java.lang.NoSuchFieldError: view_tree_saved_state_registry_owner  或  java.lang.ClassNotFoundException: androidx.savedstate.R$id ,请务必在模块中添加对  androidx.lifecycle:lifecycle-viewmodel-savedstate  的  debugImplementation  依赖项。

    2024年02月12日
    浏览(38)
  • Android问题笔记 - Android Studio日志乱码原因与解决

    专栏分享 点击跳转=Unity3D特效百例 点击跳转=案例项目实战源码 点击跳转=游戏脚本-辅助自动化 点击跳转=Android控件全解手册 点击跳转=Scratch编程案例 点击跳转=软考全系列 众所周知,人生是一个漫长的流程,不断 克服困难 ,不断反思前进的过程。在这个过程中会产生很多对

    2024年02月03日
    浏览(42)
  • 【Flutter 问题系列第 78 篇】Android Studio 升级后提示 org.gradle.java.home Gradle property is invalid 的解决方案

    这是【Flutter 问题系列第 78 篇】,如果觉得有用的话,欢迎关注专栏。 Flutter SDK:3.3.5,Dart SDK:2.18.2, 操作系统:macOS Ventura 13.0.1 Intel Core i9,Android Studio 版本:Flamingo 2022.2.1 Patch 2 一:问题描述 在公司的 M2 电脑上,直接使用 Android Studio 的检查更新,升级到 Flamingo 2022.2.1 版

    2024年02月05日
    浏览(37)
  • Android Studio 常见问题

    在使用Android Studio创建项目时,会自动从网上下载相关依赖。由于是访问国外服务器,会出现构建项目时下载依赖很慢的问题。为了解决该问题,需要在 settings.gradle (或者 settings.gradle.kts )配置文件里添加国内镜像仓库地址。 在该文件里添加如下仓库地址: 最后重新加载依赖

    2024年02月03日
    浏览(38)
  • 【Android】解决Android Studio中的虚拟设备无法上网问题

    前言 : 使用AndroidStudio自带的虚拟设备在调试软件时, 发现无法联网,然后用虚拟设备自带的浏览器进行网页访问也是失败的, 因此可以说明是整个虚拟设备是无法正常联网通讯的! 问题原因 :可能你的虚拟设备的DNS设置和你的电脑的DNS不在一个网段上,需要修改虚拟设备的

    2024年02月06日
    浏览(37)
  • 解决问题:Android Studio启动不了

    1、启动不了之前的操作: build报错的提示的都是乱码,于是网上搜了下,去菜单Help Edit Custom VM options 此时AS打开了AS安装目录下bin/studio64.exe.vmoptions 这个文件 根据网上说法在里边加一句 即可,于是加了,结果AS闪退。 再也启动不了,重启电脑后也不行,重新安装也不行。 看

    2024年02月04日
    浏览(35)
  • Android初学之android studio运行java/kotlin程序

    第一步骤: File — New — New Module ,然后弹出一个框,(左边)选择 Java or Kotlin Library ,(右边)编辑自己的图书馆名、包名、类名,选择 Java 一个语言,然后 Finish 如下图: 然后,就可以看见我新建的 java Library 了,如下图: 第二步骤:马上写个测试程序 看看能不能运行

    2024年02月11日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包