我想添加融合的位置服务,但它告诉我一些错误。
帮助我。
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类,或者必须扩展它。
在Gradle构建文件中添加依赖项:
implementation 'com.android.support:multidex:1.0.2'
or
implementation 'com.android.support:multidex:1.0.3'
or
implementation 'com.android.support:multidex:2.0.0'
然后在“defaultConfig”部分,添加:
multiDexEnabled true
在targetSdkVersion
minSdkVersion 17
targetSdkVersion 27
multiDexEnabled true
如果你遇到这个错误
错误:Failed to resolve: multidex-instrumentation Open File
您需要将gradle更改为3.0.1
classpath 'com.android.tools.build:gradle:3.0.1'
并将以下代码放入gradle-wrapper.properties文件中
- 4.1 - all.zip distributionUrl = https://services.gradle.org/distributions/gradle
最后
在项目中添加类application并将其引入到AndroidManifest中
哪个是从MultiDexApplication扩展过来的
public class App extends MultiDexApplication {
@Override
public void onCreate( ) {
super.onCreate( );
}
}
首先运行项目以创建错误,然后清除项目
最后,重新启动项目并享受它
对于颤振项目,您也可以解决此问题
打开你的\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
你可以跟着这个走。
Android 5.0 (API级别21)之前的平台版本使用Dalvik运行时执行应用程序代码。默认情况下,Dalvik限制每个APK只能使用一个classes.dex字节码文件。为了绕过这个限制,你可以在你的项目中添加multidex支持库:
dependencies {
implementation 'com.android.support:multidex:1.0.3'
}
如果你的minSdkVersion设置为21或更高,你所需要做的就是在你的模块级构建中将multiDexEnabled设置为true。Gradle文件,如下所示:
android {
defaultConfig {
...
minSdkVersion 21
targetSdkVersion 28
multiDexEnabled true
}
...
}