尽管设置为 targetSDK 31,但 Flutter 应用程序无法从 Android 12 的 Google 商店安装

lel*_*lek 8 android google-play flutter

我在 Playstore 中有一个 Flutter 应用程序,如果您有 Android 12,它只会弹出一条错误消息:\n“AppName 无法安装”

\n

我的Flutter版本是2.5.0

\n

由于我的设置,我希望该应用程序可以安装在 Android 12 上。是否有任何 \xc3\xb2ther 原因导致此失败?

\n

这是我的build.grade:

\n
def localProperties = new Properties()\ndef localPropertiesFile = rootProject.file(\'local.properties\')\nif (localPropertiesFile.exists()) {\n    localPropertiesFile.withReader(\'UTF-8\') { reader ->\n        localProperties.load(reader)\n    }\n}\n\ndef flutterRoot = localProperties.getProperty(\'flutter.sdk\')\nif (flutterRoot == null) {\n    throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")\n}\n\ndef flutterVersionCode = localProperties.getProperty(\'flutter.versionCode\')\nif (flutterVersionCode == null) {\n    flutterVersionCode = \'25\'\n}\n\ndef flutterVersionName = localProperties.getProperty(\'flutter.versionName\')\nif (flutterVersionName == null) {\n    flutterVersionName = \'1.1.0\'\n}\n\ndef keystoreProperties = new Properties()\ndef keystorePropertiesFile = rootProject.file(\'key.properties\')\nif (keystorePropertiesFile.exists()) {\n    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))\n}\n\napply plugin: \'com.android.application\'\napply plugin: \'kotlin-android\'\napply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"\n// apply plugin: \'com.google.gms.google-services\'\n\nandroid {\n    compileSdkVersion 31\n\n    sourceSets {\n        main.java.srcDirs += \'src/main/kotlin\'\n    }\n\n    lintOptions {\n        disable \'InvalidPackage\'\n    }\n\n    defaultConfig {\n        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).\n        applicationId "myAppID"\n        minSdkVersion 21\n        targetSdkVersion 31\n        versionCode flutterVersionCode.toInteger()\n        versionName flutterVersionName\n    }\n\n    signingConfigs {\n       release {\n           keyAlias keystoreProperties[\'keyAlias\']\n           keyPassword keystoreProperties[\'keyPassword\']\n           storeFile keystoreProperties[\'storeFile\'] ? file(keystoreProperties[\'storeFile\']) : null\n           storePassword keystoreProperties[\'storePassword\']\n       }\n    }\n    buildTypes {\n        release {\n            signingConfig signingConfigs.release\n            //signingConfig signingConfigs.debug\n            minifyEnabled true\n            useProguard true\n            proguardFiles getDefaultProguardFile(\'proguard-android.txt\'), \'proguard-rules.pro\'\n        }\n        debug{\n            minifyEnabled true\n            useProguard true\n            proguardFiles getDefaultProguardFile(\'proguard-android.txt\'), \'proguard-rules.pro\'\n        }\n    }\n}\n\nflutter {\n    source \'../..\'\n}\n\ndependencies {\n    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"\n    //def multidex_version = "2.0.1"\n    //implementation \'androidx.multidex:multidex:$multidex_version\'\n    implementation \'com.android.support:multidex:1.0.3\'\n}\napply plugin: \'com.google.gms.google-services\'\n
Run Code Online (Sandbox Code Playgroud)\n

颤振医生:\n在此输入图像描述

\n

在 Android 12 模拟器上安装此程序时,安装失败并显示以下消息:

\n

在此输入图像描述

\n

在我将此值添加到我的应用程序清单中后,我再次启动它,并且在 Visual Studio 代码中出现了一个无尽的安装加载图标。我的设备上有该应用程序,但点击它后它会立即关闭

\n

小智 11

您必须将 android:exported 设置为在 app\xe2\x80\x99s AndroidManifest.xml 文件中声明了 <intent-filter> 的任何 <activity>、<activity-alias>、<service> 或 <receiver> 组件.\nALSO!!!!\n您必须对您使用的每个包执行相同的操作。我建议不要手动执行此操作,因为这可以通过调用“Pubclearcache”之类的内容来修改,而是尝试将包更新到最新版本。

\n

https://medium.com/androiddevelopers/lets-be-explicit-about-our-intent-filters-c5dbe2dbdce0

\n