我正在这个应用程序中创建一个基于聊天的应用程序,它需要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
}
这是因为 FirebaseUI 需要 API 16 或更高版本才能运行,而应用的 minSdk 版本
设置为 15。如果 Android Studio 允许你像这样构建,那么对于使用 API 15 的用户,你的应用就会崩溃。
评论建议使用工具:overrideLibrary
Manifest字段,但由于上述原因,我不建议这样做。您必须为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%也不算什么。
在模块的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 直接使用法