当前位置: 首页 > 知识库问答 >
问题:

使用意向过滤器时,颤振Android 12安装错误

牟恺
2023-03-14

我正在努力解决下面的错误。

adb: failed to install F:\xxx\src\FlutterDemoApp\FlutterDemoApp\build\app\outputs\flutter-apk\app.
apk: Failure [INSTALL_PARSE_FAILED_MANIFEST_MALFORMED: Failed parse during installPackageLI: /data/app/vmdl1942767517.tmp/base.apk (at Binary XML file line #102): 

com.dexterous.flutterlocalnotifications.ScheduledNotificationBootReceiver: Targeting S+ (version 31 and above) requires that an explicit value for android:exported be defined when intent filters are present]
Error launching application on Pixel 4 XL.


正如我在Targeting S(版本31及以上)中发现的那样,需要在存在意向过滤器时定义android:exported的显式值]和android Studio错误:“清单合并失败:针对android 12的应用程序”这只是将android:exported=“true”添加到android/app/src/main/AndroidManifest的问题。xml,但问题是它已经存在于我的环境中,我仍然会遇到错误<我是不是错过了什么?

共有2个答案

璩浩广
2023-03-14

我试过清理项目

我不得不在我的构建中添加多索引支持。格拉德尔

    defaultConfig {
    applicationId "com.example.demo_app"
    minSdkVersion 19
    targetSdkVersion flutter.targetSdkVersion
    versionCode flutterVersionCode.toInteger()
    versionName flutterVersionName
    multiDexEnabled = true //★This
}

dependencies {
implementation("androidx.multidex:multidex:2.0.1")//★This
implementation 'org.altbeacon:android-beacon-library:2.19'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

}

不太清楚为什么会这样,但你可以在这里阅读更多https://developer.android.com/studio/build/multidex

后源
2023-03-14

还要注意这一点,

从Android 12(SDK 31)开始,在使用意图过滤器时,属性Android:exported必须显式设置为false或true。如果没有此属性,则无法安装应用程序。参考文献:

资源:(包含关于在Android 12或更高版本上安装没有此属性的应用程序的警告)

当创建一个新的flutter项目时,默认的AndroidManifest.xml应该包含这个属性设置为true,因为意图是android.intent.category.LAUNCHER:

        <activity
            android:name=".MainActivity"
            android:launchMode="singleTop"
            android:theme="@style/LaunchTheme"
            android:configChanges="..."
            android:hardwareAccelerated="true"
            android:exported="true"        <== SHOULD BE ADDED
            android:windowSoftInputMode="adjustResize">
 类似资料:
  • 我正在Linux Ubuntu上配置Flatter SDK 我在文件中为和指定了,但我在运行时收到此错误:

  • 我正在尝试在我的mbp上安装Flutter。我在VS代码版本中遇到了一个错误,因为我相信Android Studio。我还安装了VS代码,这个程序,这是最新的版本。在工作室,我想我也有最新的版本。当我输入“颤动医生”时,我会得到下一个列表: 医生总结(要查看所有细节,运行flutter doctor -v): 颤动(在Mac OS X 10.13.6 17G65上,频道beta,版本0.5.1,语

  • 我在安装颤动时遇到了3个错误:[!]Android工具链 - 为Android设备开发(AndroidSDK 27.0.3)!某些Android许可证不被接受。要解决此问题,请运行:颤抖医生 - android许可证 [✓] Android Studio ✗颤振插件没有安装;这增加了颤振的特定功能。 ✗ Dart插件未安装;这增加了Dart特定的功能。 我可以在android工作室安装插件,但如何

  • Xcode的输出:在文件中包含从 /Users/dani/development/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-6.0.3/ios/Classes/FLTURLLauncherPlugin.m: 7: /Users/dani/development/flutter/.pub-cache/hosted/pub.dart

  • 我的Firebase Firestore数据结构如下所示 括号中是各自userinfo文档的内容 我想从/users/集合中检索所有的userinfo文档,其中name==Jack,所以我应该检索和。有人可以帮助我如何在Flutter中做到这一点,而无需检索整个/用户/集合,并在本地过滤设备上的数据。 谢谢:)

  • 我只是导入了包background\u位置,没有使用它。即使我犯了这个错误 尝试更改kotlin版本,更改了MinSDK版本,但没有更改。