0

I'm adding one signal to app. But it shows an error (ERROR: Manifest merger failed with multiple errors, see logs).I tried many methods but error was not solved.

build.gradle (app level).

buildscript {
    repositories {
        maven { url 'https://plugins.gradle.org/m2/' }
    }
    dependencies {
        classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:0.12.6'
    }
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'

repositories {
    maven { url 'https://maven.google.com' }
}

apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.2"
    defaultConfig {
        applicationId "com.marsad.urdupoetry"
        minSdkVersion 17
        targetSdkVersion 29
        multiDexEnabled true
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'

            manifestPlaceholders = [
                    onesignal_app_id: 'c4280d40-10bb-40f3-8814-4ced01cc9702',
                    // Project number pulled from dashboard, local value is ignored.
                    onesignal_google_project_number: 'REMOTE'
            ]

        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'androidx.multidex:multidex:2.0.1'
    implementation 'androidx.cardview:cardview:

    implementation 'com.google.firebase:firebase-database:19.2.0'
    implementation 'com.firebase:firebase-client-android:2.5.2'
    implementation 'com.firebaseui:firebase-ui-database:2.0.1'
    implementation 'com.google.firebase:firebase-core:17.2.1'

    implementation 'com.onesignal:OneSignal:3.12.4'

    testImplementation 'junit:junit:4.13'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}

AndroidManifest.xml Here is the AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.marsad.urdupoetry">
    <uses-permission android:name="android.permission.INTERNET"/>

    <application
        android:name=".MyApplication"
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@drawable/ic_launcher"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".FriendActivity"/>
        <activity android:name=".FullViewActivity"
            android:theme="@style/AppTheme.PopMe"/>
        <activity android:name=".SplashScreenActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Manifest merger Error is showing here

Merging Errors: Error: Attribute meta-data#onesignal_app_id@value at AndroidManifest.xml requires a placeholder substitution but no value for is provided. app main manifest (this file)

Error: Attribute meta-data#onesignal_google_project_number@value at AndroidManifest.xml requires a placeholder substitution but no value for is provided. app main manifest (this file)

  • Possible duplicate: https://stackoverflow.com/questions/37368124/gradle-manifest-requires-a-placeholder-substitution-error-but-manifestplacehol/37588805 – cdsln Jan 03 '20 at 10:43
  • 1
    Does this answer your question? [Gradle "manifest requires a placeholder substitution" error but manifestPlaceholders supplies a value](https://stackoverflow.com/questions/37368124/gradle-manifest-requires-a-placeholder-substitution-error-but-manifestplacehol) – cdsln Jan 03 '20 at 10:43

1 Answers1

2

change this

manifestPlaceholders = [
                onesignal_app_id: 'c4280d40-10bb-40f3-8814-4ced01cc9702',
                // Project number pulled from dashboard, local value is ignored.
                onesignal_google_project_number: 'REMOTE'
        ]

to

 manifestPlaceholders = [
                onesignal_app_id: 'c4280d40-10bb-40f3-8814-4ced01cc9702',
               onesignal_google_project_number: 'REMOTE',
            contentProviderAuthority: contentProviderAuthority
        ]
Vish
  • 404
  • 3
  • 17
  • I change my code but... ```ERROR: Could not get unknown property 'contentProviderAuthority' for BuildType_Decorated{name=release, debuggable=false, testCoverageEnabled=false, jniDebuggable=false, pseudoLocalesEnabled=false, renderscriptDebuggable=false, renderscriptOptimLevel=3, minifyEnabled=false, zipAlignEnabled=true, signingConfig=null, embedMicroApp=true, mBuildConfigFields={}, mResValues={}, mProguardFiles=[F:\Java_Android_Projects\UrduPoetry\app\build\intermediates\proguard-files\proguard-android-optimize.txt-3.5.3, ...``` –  Jan 03 '20 at 09:55