我想添加融合的位置服务,但它告诉我一些错误。
帮助我。
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion "27.0.1"
defaultConfig {
applicationId "com.example.adil.bloodbankapplication"
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:26.1.0'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.google.firebase:firebase-auth:11.8.0'
compile 'com.google.firebase:firebase-database:11.8.0'
compile 'com.android.support:support-v4:26.1.0'
compile 'junit:junit:4.12'
compile 'com.android.support:design:26.1.0'
compile 'com.github.joielechong:countrycodepicker:2.1.5'
compile 'com.jaredrummler:material-spinner:1.2.4'
compile 'hanks.xyz:htextview-library:0.1.5'
compile 'com.firebaseui:firebase-ui-database:1.2.0'
compile 'com.google.android.gms:play-services:11.8.0'
}
apply plugin: 'com.google.gms.google-services'
我用这种方法解决了我同样的问题,你需要遵循2个简单的步骤。我是AndroidX用户,所以对我来说,首先我在构建中实现了这个依赖。Gradle文件在我的项目中的依赖项部分。
实现“androidx.multidex: multidex: 2.0.1”
dependencies {
//for multidex
implementation 'androidx.multidex:multidex:2.0.1'
}
在构建中添加此依赖项后。Gradle文件,然后再次同步您的项目
现在添加到“defaultConfig”部分:
multiDexEnabled真实
defaultConfig {
applicationId "com.papel.helper"
minSdkVersion 16
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
现在重新构建你的项目并运行:)
修改应用程序或模块的build.gradle
android {
defaultConfig {
...
minSdkVersion 21 <----- *here
targetSdkVersion 26
multiDexEnabled true <------ *here
}
...
}
根据官方文件
Multidex support for Android 5.0 and higher
Android 5.0 (API level 21)
and higher uses a runtime called ART which natively supports loading
multiple DEX files from APK files. ART performs pre-compilation at app
install time which scans for classesN.dex files and compiles them into
a single .oat file for execution by the Android device. Therefore, if
your minSdkVersion is 21 or higher, you do not need the multidex
support library.
For more information on the Android 5.0 runtime, read ART and Dalvik.
https://developer.android.com/studio/build/multidex
他的问题在这里,移除它
compile 'com.google.android.gms:play-services:11.8.0'
why?
注意:不要使用组合play-services目标。它带来了几十个库,使您的应用程序变得臃肿。相反,只指定应用程序使用的特定谷歌Play服务api。
使用你所需要的https://developers.google.com/android/guides/setup
比如位置服务
com.google.android.gms:play-services-location:11.8.0
对于云消息传递
com.google.android.gms:play-services-gcm:11.8.0
这将为Kotlin或Java项目完成工作。
步骤1 -在Gradle Scripts下找到build.gradle(Module:app)
步骤2 -添加multiDexEnabled true如下所示:
compileSdkVersion 29
defaultConfig {
applicationId "com.example.appname"
minSdkVersion 19
targetSdkVersion 29
versionCode 1
versionName "1.0"
multiDexEnabled true //addded
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
步骤3 -添加multidex依赖项
dependencies {
implementation 'com.android.support:multidex:2.0.0' //added
}
最后,同步你的项目。享受吧!