AndroidManifest.xml:5:9-42 处的属性 application@name 需要占位符替换,但未提供 <applicationName> 的值。 - 颤振
Attribute application@name at AndroidManifest.xml:5:9-42 requires a placeholder substitution but no value for <applicationName> is provided. - Flutter
在 运行 一个项目上我遇到了以下错误。
Launching lib\main.dart on SM N970F in debug mode...
lib\main.dart:1
Parameter format not correct -
D:\CIIT GUIDE\Flutter\Apps\multi_delivery_app\android\app\src\main\AndroidManifest.xml:5:9-42 Error:
Attribute application@name at AndroidManifest.xml:5:9-42 requires a placeholder substitution but no value for <applicationName> is provided.
D:\CIIT GUIDE\Flutter\Apps\multi_delivery_app\android\app\src\debug\AndroidManifest.xml Error:
Validation failed, exiting
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:processDebugMainManifest'.
> Manifest merger failed with multiple errors, see logs
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
这就是 build.gradle
在 android/app
中的样子。
android {
compileSdkVersion 29
// buildToolsVersion '26.0.3'
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
defaultConfig {
applicationId "com.example.multi_delivery_app"
minSdkVersion 28
targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
// Whosebug solution
manifestPlaceholders = [appAuthRedirectScheme: "com.example.multi_delivery_app"]
}
buildTypes {
release {
signingConfig signingConfigs.debug
}
}
我在网上找了几个和react-native相关的解决方案,但是都不行。以下是我尝试过的解决方案的link。
我认为在 build.gradle
中应该添加带有 Android 应用程序 class 的全名的 applicationName
键(它扩展了 FlutterApplication
)
例如:
defaultConfig {
...
manifestPlaceholders = [appAuthRedirectScheme: "com.example.multi_delivery_app",
applicationName: "com.example.multi_delivery_app.Application"]
}
将此代码添加到位于 android\app\src\main\AndroidManifest.xml
的 AndroidManifest.xml 文件中
android:name="${applicationName}"
示例:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.your_app_name">
<application
android:label="Your App Name"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher">
<activity
android:name=".MainActivity"
android:exported="true"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>
</manifest>
您可以将 appAuthRedirectScheme
属性添加到 manifestPlaceholders
而不是替换整个数组,方法是使用 +=
而不是 =
示例:
defaultConfig {
...
manifestPlaceholders += [appAuthRedirectScheme: "com.example.multi_delivery_app"]
}
在AndroidManifest.xml
android:name="${applicationName}" // change application to applicationName
android:label="olt"
android:icon="@mipmap/launcher_icon">```
我遇到过这样的问题。
我发现清单文件中没有定义该包。
如图所示
在 运行 一个项目上我遇到了以下错误。
Launching lib\main.dart on SM N970F in debug mode...
lib\main.dart:1
Parameter format not correct -
D:\CIIT GUIDE\Flutter\Apps\multi_delivery_app\android\app\src\main\AndroidManifest.xml:5:9-42 Error:
Attribute application@name at AndroidManifest.xml:5:9-42 requires a placeholder substitution but no value for <applicationName> is provided.
D:\CIIT GUIDE\Flutter\Apps\multi_delivery_app\android\app\src\debug\AndroidManifest.xml Error:
Validation failed, exiting
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:processDebugMainManifest'.
> Manifest merger failed with multiple errors, see logs
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
这就是 build.gradle
在 android/app
中的样子。
android {
compileSdkVersion 29
// buildToolsVersion '26.0.3'
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
defaultConfig {
applicationId "com.example.multi_delivery_app"
minSdkVersion 28
targetSdkVersion 29
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
// Whosebug solution
manifestPlaceholders = [appAuthRedirectScheme: "com.example.multi_delivery_app"]
}
buildTypes {
release {
signingConfig signingConfigs.debug
}
}
我在网上找了几个和react-native相关的解决方案,但是都不行。以下是我尝试过的解决方案的link。
我认为在 build.gradle
中应该添加带有 Android 应用程序 class 的全名的 applicationName
键(它扩展了 FlutterApplication
)
例如:
defaultConfig {
...
manifestPlaceholders = [appAuthRedirectScheme: "com.example.multi_delivery_app",
applicationName: "com.example.multi_delivery_app.Application"]
}
将此代码添加到位于 android\app\src\main\AndroidManifest.xml
的 AndroidManifest.xml 文件中android:name="${applicationName}"
示例:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.your_app_name">
<application
android:label="Your App Name"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher">
<activity
android:name=".MainActivity"
android:exported="true"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>
</manifest>
您可以将 appAuthRedirectScheme
属性添加到 manifestPlaceholders
而不是替换整个数组,方法是使用 +=
而不是 =
示例:
defaultConfig {
...
manifestPlaceholders += [appAuthRedirectScheme: "com.example.multi_delivery_app"]
}
在AndroidManifest.xml
android:name="${applicationName}" // change application to applicationName
android:label="olt"
android:icon="@mipmap/launcher_icon">```
我遇到过这样的问题。
我发现清单文件中没有定义该包。
如图所示