不支持框架版本:Android 应用程序在 21 到 31 之间
今天,我在 PlayStore 控制台上注意到我的应用程序不支持某些 Google 设备,例如 Google Pixel 4 XL、Pixel 4a 等。 (我的应用程序基于 Cordova)
不支持该设备的消息是 不支持框架版本:21 到 31 之间
我不确定此消息的含义。我可以在同一设备模拟器(Pixel 4 XL Android 12)上运行我的应用程序。
这是为了更好地理解的图像。
这是我的 minSDK、targetSDK、maxSDK 等
minSdkVersion 21
targetSdkVersion 31
maxSdkVersion 31
compileSdkVersion 31
清单权限和功能
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.front" android:required="false" />
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
<uses-permission android:name="android.permission.USE_BIOMETRIC" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CAMERA" android:required="false" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.hardware.location" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.front" android:required="false" />
如何解决此问题?
Today I noticed on PlayStore console that some of Google Devices like Google Pixel 4 XL, Pixel 4a etc are not supported for my app. (My app is Cordova based)
The message for not supporting the device is Doesn't support framework version: between 21 and 31
I am not sure what this message mean. I am able to run my app app on same device emulator (Pixel 4 XL Android 12).
Here is the image for better understanding.
Here is my minSDK, targetSDK, maxSDK etc
minSdkVersion 21
targetSdkVersion 31
maxSdkVersion 31
compileSdkVersion 31
Manifest permission and features
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.front" android:required="false" />
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
<uses-permission android:name="android.permission.USE_BIOMETRIC" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CAMERA" android:required="false" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.hardware.location" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.front" android:required="false" />
How to fix this issue?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
maxSDKVersion 是问题所在。
我的
build.gradle
的 maxSDKVersion = 31。因此,PlayStore 没有将我的应用推送给使用 Android 12(SDK 版本 32)的用户。所以我只是从build.gradle
中删除了maxSdkVersion 31
并且它起作用了。困惑是什么?
我没有意识到Android 12有两个SDK版本。
我认为 PlayStore 设备目录上的错误消息也很模糊。
Google Play 支持团队:
我联系了 Google Play 商店支持团队也是如此。他们能够找到问题所在。他们花了 48 小时才回复(通常需要 24-72 小时)。因此,对于 Android 开发者来说,联系 Google Play 支持团队解决 PlayStore 问题是另一个不错的选择。
PlayStore 如何向用户展示您的应用?
AFAIK:Google PlayStore 根据 AndroidManifest.xml 和
build.gradle
过滤应用程序,因此如果您的应用程序对某些设备不兼容或不可见。然后您应该开始查看 AndroidManifest 和
build.gradle
文件。例如,如果您将 android.hardware.camera.front 定义为,则将过滤掉没有前置摄像头的设备的应用程序。
maxSDKVersion was the issue.
My
build.gradle
has the maxSDKVersion = 31. Because of that PlayStore was not pushing my app to users with Android 12 (SDK version 32). So I just removed themaxSdkVersion 31
frombuild.gradle
and it worked.What was the confusion?
I did not realize that Android 12 has two SDK version.
Also in my opinion the error message on PlayStore Device Catalog was vague.
Google Play Support Team:
I contacted Google Play Store support team as well. They were able to locate the issue. They took 48 hours to respond (They usually take 24-72 hours). So it is another a good option for Android developers to reach out to Google Play Support team for PlayStore issues.
How PlayStore shows your app to users?
AFAIK: Google PlayStore filters application based on AndroidManifest.xml and
build.gradle
So if your app is not compatible or visible to some devices. Then you should start looking into your AndroidManifest and
build.gradle
file.For example if you defined android.hardware.camera.front as then will filter out your application for devices that do not have front camera.