当前位置: 首页 > 知识库问答 >
问题:

编译 'com.firebaseui:firebase-ui-auth:0.4.0' gradle build error

宰父学
2023-03-14

我正在这个应用程序中创建一个基于聊天的应用程序,它需要AuthUI我使用

compile 'com.firebaseui:firebase-ui-auth:0.4.0'

当我点击同步时,它显示这个错误

错误:任务“:应用程序:进程指示”的执行失败。清单合并失败: uses-sdk:minSdk 版本 15 不能小于在库中声明的版本 16 [com.firebaseui:firebaseui-auth:0.4.0] C:\Users\Pankaj.android\build-cache\b6b125d590bd1b7420872b94c0da26aebbc55221\output\AndroidManifest.xml 建议:使用工具:覆盖库=“com.firebase.ui.auth” 强制使用

build.gradle(app)

compile 'com.android.support:appcompat-v7:26.+'
compile 'com.github.d-max:spots-dialog:0.7@aar'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.android.support:design:26.+'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.android.volley:volley:1.1.0'
compile 'com.github.bumptech.glide:glide:4.0.0'
compile 'com.android.support:recyclerview-v7:26.+'
compile 'net.gotev:uploadservice:2.1'
compile 'com.firebaseui:firebase-ui-database:0.4.0'

compile 'com.firebaseui:firebase-ui-auth:0.4.0'
compile 'com.android.support:support-v4:26.+'
testCompile 'junit:junit:4.12'

build.gradle(项目)

顶级构建文件,您可以在其中添加所有子项目/模块通用的配置选项。

buildscript {
repositories {

    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:2.3.0'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
    classpath 'com.google.gms:google-services:3.1.0'
}
}

allprojects {
repositories {
    jcenter()
    maven {
        url 'https://maven.fabric.io/public'
    }
}
}

task clean(type: Delete) {
delete rootProject.buildDir
}

共有2个答案

商品
2023-03-14

这是因为 FirebaseUI 需要 API 16 或更高版本才能运行,而应用的 minSdk 版本设置为 15。如果 Android Studio 允许你像这样构建,那么对于使用 API 15 的用户,你的应用就会崩溃。

评论建议使用工具:overrideLibraryManifest字段,但由于上述原因,我不建议这样做。您必须为API 15用户实现自己的授权UI。

根据谷歌的数据,0.3%的活跃Android用户目前正在使用API 15。这仅适用于安装了Play Store的设备,但它很好地代表了运行API 15的Android用户的总比例。如果您正在实现FirebaseUI,那么为0.3%的Android用户创建自己的Auth UI是不值得的。

最简单和最明智的解决方案可能是将您的< code>minSdkVersion更改为16。你已经错过了API 10-14的另外0.3%的用户。再有0.3%也不算什么。

越学文
2023-03-14

在模块的build.gradle中将最低API级别从15提高到16

android {
    defaultConfig {
        minSdkVersion 16
    }
}

工具:覆盖库不是一个真正的选项,因为它会在 API 级别为 15 的设备上崩溃。

 类似资料:
  • 准备工作 Ubuntu 16.04 $ apt-get install build-essential subversion libncurses5-dev zlib1g-dev gawk gcc-multilib flex git-core gettext libssl-dev unzip texinfo device-tree-compiler dosfstools libusb-1.0-0-

  • 我使用maven命令来清理、构建整个项目、创建war并部署到服务器。我不能使用Intellij来做这件事,因为我只有社区版。它在与intellij相同的目录中构建项目。 为了加快速度,我编写了一个脚本,可以在本地“target”目录中找到比服务器中更新的已编译文件,并进行复制。虽然一切正常,但问题是Intellij并没有将使用maven编译的类视为应该跳过并重新构建整个项目的类。 目前它的工作原理

  • 词法分析器 语法分析器 语义分析及中间代码生成 代码优化 代码生成

  • Handlebars.compile(template, options) 编译一个模版以立即运行。 const template = Handlebars.compile("{{foo}}"); template({}); 支持多种选项以更改模版的执行方式。 data: 设置为 false 以终止 @data 跟踪。 compat: 设置为 true 以允许递归领域查找。 knownHelpe

  • 编译时加入处理.ui 文件通常可以采用 3 种方式:直接使用法、单继承法和多继承法。 下面我们就以 Calculator Form 这个程序为例,分别介绍这 3 种方式的使用。 Calculator Form 程序主要实现了简单的加法计算功能,在 Qt Designer 中绘制的用户界面如图 10-2 所示。 图 10-2 Calculator Form 的.ui 文件 10.3.1 直接使用法