我使用我的手机和另外两个朋友的设备进行了检查。我发现Google Play商店显示与较新的Android版本(包括13)“应用程序不兼容”,但它确实显示与旧版本(例如)的“兼容性”。但我发现即使是艰难的Google Play商店显示它不兼容,但我仍然可以通过 ADB 在我的设备上安装它。 <=11我做了一些研究并找到了一些答案,这是因为这个许可。使其
required= false 将解决它。
<uses-permission android:name="android.permission.CAMERA" />
但我有疑问。那为什么我实际上可以通过 ADB 安装它,但 Google Playstore 显示不兼容
?另外,我问这个问题是因为这不是我的项目,所以我无法将其发布到 Google Playstore 并检查更改是否有效。 因此,如果需要任何其他更改,请告诉我。我将不胜感激。
我的设备是
Vivo T1 5G,不兼容。
AndroidManifest.xml 文件是
<manifest package="org.catrobat.catroid"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:installLocation="auto">
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="false" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" tools:node="remove" />
<uses-feature
android:name="android.hardware.camera2"
android:required="false" />
<uses-permission android:name="android.permission.CAMERA" />
<!-- bluetooth -->
<uses-feature
android:name="android.hardware.bluetooth"
android:required="false" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS"
tools:ignore="ProtectedPermissions" />
<!-- gps -->
<uses-feature
android:name="android.hardware.location.gps"
android:required="false" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- nfc -->
<uses-feature
android:name="android.hardware.nfc"
android:required="false" />
<uses-permission android:name="android.permission.NFC" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<application
android:name=".CatroidApplication"
android:allowBackup="false"
android:icon="${appIcon}"
android:label="${appName}"
android:theme="@style/Catroid"
android:supportsRtl="true"
android:requestLegacyExternalStorage="false"
tools:ignore="UnusedAttribute"
tools:replace="android:label,android:allowBackup,android:name"
android:usesCleartextTraffic="true">
.....................
<service android:name=".transfers.project.ProjectUploadService" />
<service android:name=".transfers.project.ProjectDownloadService" />
<service android:name=".transfers.MediaDownloadService" />
<service android:name=".utils.notifications.StatusBarNotificationManager$NotificationActionService" />
<service android:name=".cast.CastService" android:exported="false"/>
<provider
android:authorities="${applicationId}.fileProvider"
android:name="androidx.core.content.FileProvider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
</application>
</manifest>
并且build.gradle
文件是
android {
compileSdkVersion 30
buildFeatures {
viewBinding true
}
defaultConfig {
minSdkVersion 23
targetSdkVersion 30
}
}
简单,Google Play Store 会做兼容性检查,adb 不会检查你的设备是否满足兼容性。 ADB 只是尝试安装您告诉它的任何内容