我正在尝试将即时应用程序实现到使用Firebase数据库的项目中。我的目标是SDK版本27,因此支持库在版本27.0.2上。
Firebase数据库版本为11.8.0,gms版本为3.1.0。当我尝试同步时,会出现以下错误:
Android dependency 'com.android.support:support-v4' has different
version for the compile (25.2.0) and runtime (27.0.2) classpath. You
should manually set the same version via DependencyResolution
通过在即时应用之前明确添加以下依赖项,我能够绕过这个问题
implementation 'com.android.support:support-v4:27.0.2'
implementation 'com.android.support:support-media-compat:27.0.2'
但是对于即时应用程序,即使我在功能模块(app-base)中拥有它们,当我尝试构建实际应用程序(com.android.application)时,我也会遇到同样的错误。
我可以通过将这些冲突的依赖项移动到application module gradle文件中来再次解决这个问题,在这种情况下,同步成功,但接下来我面临另一个问题,这次是清单合并,这会阻止应用程序找到启动器活动:
属性提供程序#com.google.火力基地。供应商。FirebaseInitProvider@authorities值=(com.iamkan.packagename.firebaseinitprovider)来自AndroidManifest。xml:10:13-72也出现在AndroidManifest上。xml:33:350-423 value=(com.iamkan.packagename.base.firebaseinitprovider)。建议:在AndroidManifest的元素中添加“tools:replace=”android:authorities“。xml:8:9-12:39来覆盖。应用程序主清单(此文件),第9行
最后一个问题与fire base-core
依赖项有关,因为当我将应用程序gradle依赖项从
implementation project(':app-base')
到
implementation (project(':app-base')) {
exclude group: 'com.google.firebase', module:'firebase-core'
}
我可以运行这个应用程序。但这一次,我在运行时开始出现以下错误(第一次调用FirebaseDatabase.getInstance()
)
Default FirebaseApp is not initialized in this process com.iamkaan.packagename. Make sure to call FirebaseApp.initializeApp(Context) first
它确实没有被调用,但在即时应用程序实现之前,它一直在运行。不管怎样,在第一次调用FirebaseDatabase之前,我在不同的地方添加了这个调用,但没有任何帮助。
包名
com。安卡恩。packagename
com。安卡恩。packagename
com。安卡恩。给我打包。基本
试试这个。他28岁
implementation ('com.google.firebase:firebase-core:16.0.6'){
exclude module: 'support-media-compat'
exclude module: 'support-v4'
}
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.android.support:support-media-compat:28.0.0'
我遇到了类似的情况,这是由依赖项包含的支持库引起的。需要注意的是,几乎所有Google/Android支持库(CardView、RecyclView等)都包含最新的v4和v7支持库。所以这通常会导致冲突。
你需要做的是:
实现项目(': app-base')
仅api
代替实现
来支持基本模块的build.gradle
中包含的库,即api'com.android.support: support port-v4:27.0.2'
build.gradle
文件中build.gradle
文件,排除每个项目的支持库(参见下面的示例)api('com.android.support:support-media-compat:27.0.2') {
exclude group: 'com.android.support'
}
api('com.android.support:support-v7:27.0.2') {
exclude group: 'com.android.support'
}
我还建议不要使用com.Android支持:support-v7:27.0.2
只使用支持库中您需要的特定项。有关如何仅从支持库添加特定项的信息,请参阅支持库软件包。
我正试图用下面的“为Android设置Firebase实时数据库”的例子写入我的数据库,但应用程序在启动时崩溃。 似乎是因为依赖: 我的应用程序Build.Gradle: 如何解决此问题?
12.3 依赖注入 JSR-352主要基于Spring Batch的编程模型。因此,尽管没有明确需要正式的依赖注入实现, 但还是推荐使用 DI 的方式。Spring Batch支持 JSR-352 中定义的三种加载组件方式: 实现专用加载器 - Spring Batch 构建于 Spring 之上, 支持在 JSR-352 批处理作业中使用依赖注入. 归档文件加载器 - JSR-352 定义了一个
由一些模块组成的maven项目。我的一个模块正在使用google版本的guava依赖项。现在,我正在我的项目中集成另一个模块,该模块也使用guava但版本。 因此,我希望新模块使用guava版本,而其余项目使用guava版本。我尝试将guava的添加到新模块中,但没有成功。 更新:@Guillaume Darmont的答案为不同的模块解决了问题。但现在我的问题是,新模块有两个依赖项,其中一个使用g
错误为:java.security.NoSuchProviderException:JCE无法验证提供程序BC。注意,我已经添加了这段代码:security.addProvider(new BouncyCastleProvider()); 这在使用spring boot embedded tomcat时可以很好地工作,但在导出到运行在wildfly服务器上的war文件时就不行了。 下面是我如何宣布
我是新的Android应用程序开发。当我试图创建一个新的项目,Android项目......下面的消息弹出。. 错误:任务执行失败:应用程序:preDebugAndroidTestBuild。 与项目中的依赖com.android.support:支持注释冲突:应用。应用(26.1.0)和测试应用(27.1.1)的解析版本不同。详见https://d.android.com/r/tools/tes
因为Flatter\u math\u fork 获取:^4.6.1获取存储:2.0.3 dio:^4.0.4 dio\u http\u缓存:0.3.0 webview_flutter:^2.8.0flutter_html:^2.0.0url_launcher:^6.0.17 firebase\u消息:^11.2.4 cloud\u firestore:^3.1.5 firebase\u认证:^3.