Flutter AndroidManifest错误

时间:2018-04-22 01:08:26

标签: android android-studio android-manifest metadata flutter

我刚刚将早期版本的Flutter和Android工作室中的项目移植到新机器和更新的软件中。在尝试在模拟器中构建我的Android项目时,我收到以下错误...

  • 出了什么问题: 任务':app:processDebugManifest'的执行失败。
      

    清单合并失败:来自[com.android.support:appcompat-v7:25.4.0] AndroidManifest.xml:28:13-的属性meta-data#android.support.VERSION@value value =(25.4.0) 35   也出现在[com.android.support:support-v4:26.1.0] AndroidManifest.xml:28:13-35 value =(26.1.0)。   建议:在AndroidManifest.xml:26:9-28:38中添加'tools:replace =“android:value”'以覆盖。

这就是我的Manifest的样子......

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.yourcompany.myfavkpopflutterexample"
 xmlns:tools="http://schemas.android.com/tools"
>

<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="21" />

<!-- The INTERNET permission is required for development. Specifically,
     flutter needs it to communicate with the running application
     to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>

<!-- io.flutter.app.FlutterApplication is an android.app.Application that
     calls FlutterMain.startInitialization(this); in its onCreate method.
     In most cases you can leave this as-is, but you if you want to provide
     additional functionality it is fine to subclass or reimplement
     FlutterApplication and put your custom class here. -->
<application android:name="io.flutter.app.FlutterApplication" android:label="myfavkpopflutter_example" android:icon="@mipmap/ic_launcher">
    <activity android:name=".MainActivity"
              android:launchMode="singleTop"
              android:theme="@android:style/Theme.Black.NoTitleBar"
              android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection"
              android:hardwareAccelerated="true"
              android:windowSoftInputMode="adjustResize">
        <meta-data
                android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
                tools:replace="android:value"
                android:value="true" />
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
</application>

我添加了建议的tools:replace="android:value",但我仍然遇到同样的错误。我见过类似Android Studio的问题。我将其添加到SO中,因为我认为它可能与我的Flutter构建有关。

3 个答案:

答案 0 :(得分:2)

我也有同样的问题。 我通过在错误消息中应用建议解决了问题。 添加工具:replace =“ android:label” 在(\ android \ app \ src \ main \ AndroidManifest.xml)中添加如下工具:replace =“ android:label”:

<application
    tools:replace="android:label"
    android:name="io.flutter.app.FlutterApplication"
    android:label="flutterwp" 
    android:icon="@mipmap/ic_launcher">

并且不要忘记添加这样的工具:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.wp"
xmlns:tools="http://schemas.android.com/tools">

答案 1 :(得分:1)

当我尝试将 AWS Datastore 添加到我的 Flutter 项目时,我遇到了这个问题,该项目已经有用于本地 OCR 的 Google MLKit。 Datastore 或 MLKit 都可以,但不能同时使用。

什么对我有用:

将以下内容添加到 app\src\main\AndroidManifest.xml

tools:replace="android:name"

在 AndroidManifest 中使用以下声明 -

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.ABC"
xmlns:tools="http://schemas.android.com/tools">

答案 2 :(得分:0)

我也有这个问题,但我解决了这个问题。 转到项目目录/ build,然后您将看到google_sign_in,image_picker,firebase文件夹或任何已安装的依赖项。删除它们。返回pubspec文件,再次执行Packages get和Packages升级。

问题可能是image_picker文件夹,删除image_picker就足够了。如果这确实解决了您的问题,请查看manifest-merger-debug-report.txt,您将看到原因。 希望你的问题得到解决。