AndroidManifest中的属性提供程序FirebaseInitProvider和FacebookInitProvider也存在于AndroidManifest中

AndroidManifest中的属性提供程序FirebaseInitProvider和FacebookInitProvider也存在于AndroidManifest中,android,gradle,manifest,Android,Gradle,Manifest,我的应用程序只由一个应用程序模块组成。我最近尝试将其分为两个模块(一个功能基础模块和一个应用程序apk模块),以便稍后添加一个即时应用程序模块 我新创建的功能模块的AndroidManifest和gradle.build包含以前的应用程序模块中的所有内容: 功能AndroidManifest: <?xml version="1.0" encoding="utf-8"?> <manifest package="base.package" xmlns:andr

我的应用程序只由一个
应用程序
模块组成。我最近尝试将其分为两个模块(一个
功能
基础模块和一个
应用程序
apk模块),以便稍后添加一个
即时应用程序
模块

我新创建的
功能
模块的
AndroidManifest
gradle.build
包含以前的
应用程序
模块中的所有内容:

功能
AndroidManifest:

<?xml version="1.0" encoding="utf-8"?>
<manifest package="base.package" 
          xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- all uses-permissions and permissions -->    

    <application>

        <!-- activities, intent-filters... -->

        <provider android:authorities="com.facebook.app.FacebookContentProvider663###########"
            android:name="com.facebook.FacebookContentProvider"
            android:exported="true"/>

        <provider
            android:name="android.support.v4.content.FileProvider"
            android:authorities="${applicationId}.provider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/provider_paths"/>
        </provider>

        <!-- etc -->

    </application>

</manifest>
<?xml version="1.0" encoding="utf-8"?>
<manifest package="app.package" 
          xmlns:android="http://schemas.android.com/apk/res/android">
</manifest>
apply plugin: 'com.android.feature'

android {
    buildTypes {
        debug {
             // debug values
        }
        release {
             // release values
        }
    }
    lintOptions {
        checkReleaseBuilds false
    }
    compileSdkVersion rootProject.compileSdk
    defaultConfig {
        minSdkVersion rootProject.minSdk
        targetSdkVersion rootProject.compileSdk
        versionCode rootProject.versionCode
        versionName rootProject.versionName
    }

    baseFeature true
}

dependencies {
    api "com.android.support:appcompat-v7:$rootProject.supportLib"
    application project(':apk')
    compile "com.google.firebase:firebase-core:$rootProject.gmsLib"
    compile 'com.facebook.android:facebook-android-sdk:4.27.0'
    // other dependencies
}
apply plugin: 'com.android.application'

android {
    compileSdkVersion rootProject.compileSdk

    defaultConfig {
        applicationId "app.package"
        minSdkVersion rootProject.minSdk
        targetSdkVersion rootProject.compileSdk
        versionCode rootProject.versionCode
        versionName rootProject.versionName

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

}

dependencies {
    implementation project(":feature")
}

apply plugin: 'com.google.gms.google-services'
功能
build.gradle:

<?xml version="1.0" encoding="utf-8"?>
<manifest package="base.package" 
          xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- all uses-permissions and permissions -->    

    <application>

        <!-- activities, intent-filters... -->

        <provider android:authorities="com.facebook.app.FacebookContentProvider663###########"
            android:name="com.facebook.FacebookContentProvider"
            android:exported="true"/>

        <provider
            android:name="android.support.v4.content.FileProvider"
            android:authorities="${applicationId}.provider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/provider_paths"/>
        </provider>

        <!-- etc -->

    </application>

</manifest>
<?xml version="1.0" encoding="utf-8"?>
<manifest package="app.package" 
          xmlns:android="http://schemas.android.com/apk/res/android">
</manifest>
apply plugin: 'com.android.feature'

android {
    buildTypes {
        debug {
             // debug values
        }
        release {
             // release values
        }
    }
    lintOptions {
        checkReleaseBuilds false
    }
    compileSdkVersion rootProject.compileSdk
    defaultConfig {
        minSdkVersion rootProject.minSdk
        targetSdkVersion rootProject.compileSdk
        versionCode rootProject.versionCode
        versionName rootProject.versionName
    }

    baseFeature true
}

dependencies {
    api "com.android.support:appcompat-v7:$rootProject.supportLib"
    application project(':apk')
    compile "com.google.firebase:firebase-core:$rootProject.gmsLib"
    compile 'com.facebook.android:facebook-android-sdk:4.27.0'
    // other dependencies
}
apply plugin: 'com.android.application'

android {
    compileSdkVersion rootProject.compileSdk

    defaultConfig {
        applicationId "app.package"
        minSdkVersion rootProject.minSdk
        targetSdkVersion rootProject.compileSdk
        versionCode rootProject.versionCode
        versionName rootProject.versionName

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

}

dependencies {
    implementation project(":feature")
}

apply plugin: 'com.google.gms.google-services'
应用程序
build.gradle:

<?xml version="1.0" encoding="utf-8"?>
<manifest package="base.package" 
          xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- all uses-permissions and permissions -->    

    <application>

        <!-- activities, intent-filters... -->

        <provider android:authorities="com.facebook.app.FacebookContentProvider663###########"
            android:name="com.facebook.FacebookContentProvider"
            android:exported="true"/>

        <provider
            android:name="android.support.v4.content.FileProvider"
            android:authorities="${applicationId}.provider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/provider_paths"/>
        </provider>

        <!-- etc -->

    </application>

</manifest>
<?xml version="1.0" encoding="utf-8"?>
<manifest package="app.package" 
          xmlns:android="http://schemas.android.com/apk/res/android">
</manifest>
apply plugin: 'com.android.feature'

android {
    buildTypes {
        debug {
             // debug values
        }
        release {
             // release values
        }
    }
    lintOptions {
        checkReleaseBuilds false
    }
    compileSdkVersion rootProject.compileSdk
    defaultConfig {
        minSdkVersion rootProject.minSdk
        targetSdkVersion rootProject.compileSdk
        versionCode rootProject.versionCode
        versionName rootProject.versionName
    }

    baseFeature true
}

dependencies {
    api "com.android.support:appcompat-v7:$rootProject.supportLib"
    application project(':apk')
    compile "com.google.firebase:firebase-core:$rootProject.gmsLib"
    compile 'com.facebook.android:facebook-android-sdk:4.27.0'
    // other dependencies
}
apply plugin: 'com.android.application'

android {
    compileSdkVersion rootProject.compileSdk

    defaultConfig {
        applicationId "app.package"
        minSdkVersion rootProject.minSdk
        targetSdkVersion rootProject.compileSdk
        versionCode rootProject.versionCode
        versionName rootProject.versionName

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

}

dependencies {
    implementation project(":feature")
}

apply plugin: 'com.google.gms.google-services'
但是,尽管一切正常,但我的APK运行配置有一个问题:

当我在启动选项中选择默认活动时,我会收到一个默认活动未找到警告,当我选择一个特定的活动时,我会收到一个警告,即活动“XXXX”未在AndroidManifest.xml one中声明

经过一些研究,我意识到这是因为
apk
Manifest出现了一个错误,我可以通过查看“合并清单”选项找到这个错误。以下是输出:


我找不到相关信息来帮助我解决这个问题。。。谢谢你的帮助

我可以通过在功能的
AndroidManifest
节点中添加
工具:node=“replace”
来解决这个问题。另外,不要忘记添加
xmlns:tools=”http://schemas.android.com/tools“
在清单顶层。

我能够通过在功能的
AndroidManifest
节点中添加
工具:node=“replace”
来解决这个问题。另外,不要忘记添加
xmlns:tools=”http://schemas.android.com/tools“
位于清单顶层。

尝试在基本模块和功能模块中添加这些提供程序,以修复合并清单错误

<provider
        android:name="com.google.firebase.provider.FirebaseInitProvider"
        android:authorities="{$applicationId}.firebaseinitprovider"
        android:exported="(check library provider have exported value true or false)"
        tools:node="replace"/>
<provider
        android:name="com.facebook.internal.FacebookInitProvider"
        android:authorities="{$applicationId}.FacebookInitProvider"
        android:exported="(check library provider have exported value true or false)"
        tools:node="replace"/>

尝试在基本模块和功能模块中添加这些提供程序,以修复合并清单错误

<provider
        android:name="com.google.firebase.provider.FirebaseInitProvider"
        android:authorities="{$applicationId}.firebaseinitprovider"
        android:exported="(check library provider have exported value true or false)"
        tools:node="replace"/>
<provider
        android:name="com.facebook.internal.FacebookInitProvider"
        android:authorities="{$applicationId}.FacebookInitProvider"
        android:exported="(check library provider have exported value true or false)"
        tools:node="replace"/>