我正在开发 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-7518009535578646~8800834968"/>
<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
试试这个。
从两个
intent-filter
中删除 activity-alias
,然后将 intent-filter
添加到 activity
中。
也在活动中设置
android:exported="true"
。
<activity
android:name=".MainActivity"
android:theme="@style/LaunchTheme"
android:exported="true"
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<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" />
<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" />