팝업 문제
Android 14로 업그레이드한 후 애플리케이션이 해당 CPU 아키텍처에 적응하지 못해 시스템에 의해 강제로 팝업이 표시되었습니다. 팝업 프로세스는 참조에서 확인할 수 있습니다애플리케이션 팝업창 "이 애플리케이션은 안드로이드 이전 버전용으로 특별히 제작된 애플리케이션이므로 정상적으로 실행되지 않을 수 있습니다..." 이유 이를 방해할 방법이 없기 때문입니다. 응용 프로그램 수준에서 프로세스를 수행하며, 설치 중에 관련 패키지가 감지되어야 합니다.
- 두 가지 팝업이 있습니다. 이 앱은 최신 버전의 Android와 호환되지 않습니다. 업데이트를 확인하거나 앱 개발자에게 문의하세요. deprecated_abi_message
- 이 앱은 이전 버전의 Android용으로 제작되었습니다. 제대로 작동하지 않을 수 있으며 최신 보안 및 개인 정보 보호 기능이 포함되어 있지 않을 수 있습니다. 업데이트를 확인하거나 앱 개발자에게 문의하세요. deprecated_target_sdk_message
안드로이드 소스코드에서 검색하실 수 있습니다
질문 1
abiFilter에서 arm64-v8a를 선언합니다. 이 작업은 예외가 발생할 수 있습니다. 일부 라이브러리는 이를 지원하지 않으므로 교체해야 합니다.
android{
defaultConfig {
ndk {
abiFilters "armeabi", "armeabi-v7a", "x86", "arm64-v8a"
}
}
}
Android 소스 코드에서 deprecated_abi_message를 검색하면 DeprecatedAbiDialog를 찾을 수 있습니다. 이 카테고리 아래에 64비트에 맞게 조정해야 함을 보여주는 제출 로그가 있습니다.
질문 2
targetSdkVersion을 28로 수정
Android 소스 코드에서 deprecated_target_sdk_message를 검색하면 AppWarnings.showDeprecatedTargetDialogIfNeeded에 의해 표시되는 DeprecatedTargetSdkVersionDialog 팝업 창을 찾을 수 있습니다. 풀업 여부를 결정하는 것은 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);
build/make/tools/buildinfo.sh에서 찾을 수 있는 ro.build.version.min_supported_target_sdk 변수를 검색합니다. 스크립트는 build/make/core에서 찾을 수 있는 PLATFORM_MIN_SUPPORTED_TARGET_SDK_VERSION 값을 출력합니다. /version_util.mk 변수는 28로 설정됩니다.
왜 28인가요? Frameworks/base/core/java/android/os/Build.java 파일로 돌아가면 front- 문제를 언급하는 해당 버전 설명을 찾을 수 있습니다. Android 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;
안드로이드 소스코드는안드로이드 코드 검색에서 확인하실 수 있습니다. 위 소스코드는 2023년 10월 25일에 확인되었습니다