flutter_share_me icon indicating copy to clipboard operation
flutter_share_me copied to clipboard

export="false" causing exception in vs code

Open MuhammamdArslanKhan opened this issue 5 years ago • 1 comments

why we are exporting false in provider? what is the reason? Here is my Menifest,

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.mog" xmlns:tools="http://schemas.android.com/tools">
	<uses-permission android:name="android.permission.CAMERA" />
	<uses-permission android:name="android.permission.INTERNET" />
	<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
	<application android:name="io.flutter.app.FlutterApplication" android:label="mokoo_dog" android:icon="@mipmap/ic_launcher">
		<meta-data android:name="com.google.android.geo.API_KEY" android:value="AIzaSyDlws99uIlKKmMTuo443NXa8RNUO7L4vLw" />
		<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id" />
		<provider android:name="com.facebook.FacebookContentProvider" android:authorities="com.facebook.app.FacebookContentProvider457320668485189" android:exported="false"/>
		<activity android:name=".MainActivity" android:launchMode="singleTop" android:theme="@style/LaunchTheme" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" android:hardwareAccelerated="true" android:windowSoftInputMode="adjustResize">
			<meta-data android:name="io.flutter.app.android.SplashScreenUntilFirstFrame" android:value="true" />
			<intent-filter>
				<action android:name="android.intent.action.MAIN" />
				<category android:name="android.intent.category.LAUNCHER" />
			</intent-filter>
		</activity>
	</application>
</manifest>

Herer is exception

D:\Mobile\Flutter Projects\moo\android\app\src\debug\AndroidManifest.xml:15:143-167 Error: Attribute provider#com.facebook.FacebookContentProvider@exported value=(false) from AndroidManifest.xml:15:143-167 is also present at [:flutter_share_me] AndroidManifest.xml:13:13-36 value=(true). Suggestion: add 'tools:replace="android:exported"' to element at AndroidManifest.xml to override.

FAILURE: Build failed with an exception.

  • What went wrong: Execution failed for task ':app:processDebugManifest'. 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 FAILED in 5s Running Gradle task 'assembleDebug'... Running Gradle task 'assembleDebug'... Done 6.6s Gradle task assembleDebug failed with exit code 1

It works fine when removed "export=false" and add "tools:replace="android:authorities"

MuhammamdArslanKhan avatar Jan 11 '20 20:01 MuhammamdArslanKhan

I am not sure. This is my manifest:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="zhuoyuan.li.fluttersharemeexample">

    <!-- 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:icon="@mipmap/ic_launcher"
        android:label="flutter_share_me_example"
        tools:ignore="AllowBackup,GoogleAppIndexingWarning">
        <activity
            android:name=".MainActivity"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density"
            android:hardwareAccelerated="true"
            android:launchMode="singleTop"
            android:theme="@style/LaunchTheme"
            android:windowSoftInputMode="adjustResize">
            <!-- This keeps the window background of the activity showing
                 until Flutter renders its first frame. It can be removed if
                 there is no splash screen (such as the default splash screen
                 defined in @style/LaunchTheme). -->
            <meta-data
                android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
                android:value="true" />
            <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" />

        <meta-data
            android:name="com.facebook.sdk.ApplicationId"
            android:value="@string/facebook_app_id" />

        <provider
            android:name="com.facebook.FacebookContentProvider"
            android:authorities="com.facebook.app.FacebookContentProvider343254889799245"
            android:exported="false" />
    </application>
</manifest>

lizhuoyuan avatar Jan 14 '20 04:01 lizhuoyuan