当我按照Google Play的要求在SDK版本31下构建依赖于Firebase App Check和调试提供程序的应用时,我收到了一个清单合并错误_:
Warning:
Package name 'com.google.android.play.core.client' used in: com.google.android.play:integrity:1.0.1, com.google.android.play:core:1.9.1.
AndroidManifest.xml Error:
android:exported needs to be explicitly specified for <activity>. Apps targeting Android 12 and higher are required to specify an explicit value for `android:exported` when the corresponding component has an intent filter defined. See https://developer.android.com/guide/topics/manifest/activity-element#exported for details.
1条答案
按热度按时间eeq64g8w1#
很显然,在Google,
firebase-appcheck-debug-testing
dep依赖于androidx.test:core:1.2.0
,直到1.5.0
,我们才在必要的清单元素上正确地设置android:exported
。因此,任何依赖于firebase-appcheck-debug-testing
的项目都不会在targetSdkVersion 31
下构建。如果您直接从Maven存储库下载POM,您可以看到以下内容:
我不清楚为什么
firebase-appcheck-debug-testing
没有更新来纠正这一点。我猜他们确实建议永远不要在生产中使用DebugAppCheckProviderFactory
,这是实现这一点的一种方法(同时也防止在本地构建应用程序)!要解决此问题,请在
build.gradle
中手动强制使用1.5.0版: