我正在为Android开发Flutter项目,遇到了与AndroidManifest.xml文件相关的错误。当尝试运行我的项目时,我收到以下错误消息:
package identifier or launch activity not found. Please check /Users/[user]/AndroidStudioProjects/[project]/android/app/src/main/AndroidManifest.xml for errors.
No application found for TargetPlatform.android_arm64.
Is your project missing an android/app/src/main/AndroidManifest.xml? Consider running "flutter create ." to create one.
我已经检查了我的AndroidManifest.xml,它似乎是正确的。即使确保正确设置了包名称和目标平台,错误仍然存在。
有人能提供指导如何解决这个问题吗?什么可能导致此错误,我应该采取什么步骤来排除故障并修复它?AndroidManifest.xml:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.webjow.hidden_gallery"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="32"
tools:ignore="ScopedStorage" />
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion="32" />
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
<uses-permission android:name="android.permission.USE_BIOMETRIC" />
<uses-permission android:name="com.google.android.gms.permission.AD_ID" />
<application
android:name="androidx.multidex.MultiDexApplication"
android:allowBackup="false"
android:fullBackupContent="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:manageSpaceActivity=".MainActivity"
android:requestLegacyExternalStorage="true"
android:usesCleartextTraffic="true"
tools:replace="android:label"
tools:targetApi="34">
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-xxxxxxxxxxxx~xxxxxxxxxx"/>
<activity
android:name=".MainActivity"
android:theme="@style/LaunchTheme" />
<activity-alias
android:name="OneLauncherAlias"
android:enabled="true"
android:exported="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:targetActivity=".MainActivity"
android:theme="@style/LaunchTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
<activity-alias
android:name="TwoLauncherAlias"
android:enabled="false"
android:exported="true"
android:icon="@mipmap/calculator"
android:label="@string/app_name_fake"
android:targetActivity=".MainActivity"
android:theme="@style/LaunchTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity-alias>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>
</manifest>
附加信息:
Flutter版本:3.13.5
和Dart版本:3.1.2
4条答案
按热度按时间6tdlim6h1#
试试这个.
1.从两个
activity-alias
中删除intent-filter
,并将intent-filter
添加到activity
中。1.在Activity中设置
android:exported="true"
。baubqpgj2#
重复
<activity-alias>
元素:你已经定义了两个<activity-alias>
元素。这通常是不需要的。您应该只有一个<activity-alias>
来定义启动器Activity。根据您的要求删除
"OneLauncherAlias"
或"TwoLauncherAlias"
<activity-alias>
。启动器别名应该定义应用的入口点。之后看起来
mcdcgff03#
问题似乎是您没有在AndroidManifest.xml中定义适当的启动活动。
有几件事可以尝试:
1.删除
<activity-alias>
元素,直接在MainActivity上设置Intent过滤器:1.确保顶部的包名称与Flutter项目名称和文件夹结构相匹配。
1.对项目进行全面清理和重建。
1.从模拟器/设备中删除应用程序并重新安装。
主要的问题是:
直接在MainActivity上定义Intent过滤器应该可以解决这个问题。
pgccezyw4#
您似乎添加了多个针对您的Main Activity标记的别名。
1.它可以简单地通过删除两个别名来解决。
1.在main activity标签中添加intent filter标签,并添加exported true标志。这将解决这个问题。