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"/>