我想添加融合的位置服务,但它告诉我一些错误。
帮助我。
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'
他们给你的答案都不详尽。
问题出在Multidex上。
你必须在应用程序gradle中添加这个库:
implementation 'com.android.support:multidex:1.0.3'
之后,在应用gradle的defaultConfig中添加:
multiDexEnabled true
您的应用程序必须是Multidex类型..
你必须把它写在清单上:
android:name=".MyApplication"
“MyApplication”必须是Multidex类,或者必须扩展它。
你的方法太多了。
Android dex文件有65536个方法的限制。
对于初学者来说,如果你不需要谷歌播放服务API,只需要位置,请替换
compile 'com.google.android.gms:play-services:11.8.0'
with
compile 'com.google.android.gms:play-services-location:11.8.0'
你可以参考本页的方法来避免它,或者如果需要允许更多:
https://developer.android.com/studio/build/multidex.html
我用这种方法解决了我同样的问题,你需要遵循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
}
现在重新构建你的项目并运行:)
对于颤振项目,您也可以解决此问题
打开你的\android\app\build.gradle
你应该有以下内容:
android {
defaultConfig {
...
minSdkVersion 16
targetSdkVersion 28
}
}
如果你的minSdkVersion设置为21或更高,你所需要做的就是在defaultConfig中将multiDexEnabled设置为true。像这样
android {
defaultConfig {
...
minSdkVersion 16
targetSdkVersion 28
multiDexEnabled true
}
}
如果你的minSdkVersion设置为20或更低,在defaultConfig中添加multiDexEnabled true
并定义实现
dependencies {
implementation 'com.android.support:multidex:1.0.3'// or 2.0.1
}
最后,你应该:
android {
defaultConfig {
...
minSdkVersion 16
targetSdkVersion 28
multiDexEnabled true // added this
}
}
dependencies {
implementation 'com.android.support:multidex:1.0.3'
}
欲了解更多信息,请阅读以下内容:
https://developer.android.com/studio/build/multidex