提问人:Faiz Ahmad Dae 提问时间:10/11/2023 最后编辑:Miftakhul ArzakFaiz Ahmad Dae 更新时间:10/20/2023 访问量:279
Flutter AndroidManifest.xml 错误:找不到包标识符或启动活动
Flutter AndroidManifest.xml Error: package identifier or launch activity not found
问:
我正在开发一个适用于 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 版本: 和 Dart 版本:3.13.5
3.1.2
答:
1赞
Narendra Bhatt
10/14/2023
#1
试试这个。
从两者中删除并将其添加到 .
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" />
评论
0赞
Faiz Ahmad Dae
10/15/2023
这工作正常,但我的功能不适用于您的代码。例如更改应用程序图标和应用程序名称。
0赞
Narendra Bhatt
10/16/2023
您遵循什么程序来更改应用程序图标和应用程序名称?
1赞
Laxmi kant
10/17/2023
#2
重复元素:
您定义了两个元素。这通常不是必需的。您应该只有一个来定义启动器活动。<activity-alias>
<activity-alias>
<activity-alias>
根据您的要求删除 OR。启动器别名应定义应用的入口点。"OneLauncherAlias"
"TwoLauncherAlias"
<activity-alias>
在那之后,它看起来像
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.webjow.hidden_gallery"
xmlns:tools="http://schemas.android.com/tools">
<!-- Your permissions, application, and meta-data here -->
<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">
<!-- Your activities and other components here -->
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>
</manifest>
1赞
Abdul Ahad
10/19/2023
#3
您似乎添加了多个针对您的 Main Activity 标签的别名。
它可以通过删除两个别名来简单地解决。
在主活动代码中添加 intent 过滤器代码,并添加 exported true 标志。这将解决问题。
<activity android:name=".MainActivity" android:theme="@style/LaunchTheme"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
评论
0赞
Faiz Ahmad Dae
10/20/2023
我需要别名兄弟。
评论
android:name=".MainActivity"