Θέλω να προσθέσω υπηρεσίες τοποθεσίας αλλά μου εμφανίζει κάποιο σφάλμα. Βοηθήστε με.
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'
Μετά, προσθέστε στο defaultConfig της εφαρμογής gradle :
multiDexEnabled true
Η εφαρμογή σας πρέπει να είναι τύπου Multidex.. Πρέπει να το γράψετε στο manifest :
android:name=".MyApplication"
"MyApplication" πρέπει να είναι είτε η κλάση Multidex, είτε να την επεκτείνει.
Γεια σας το πρόβλημα είναι εδώ αφαιρέστε το
compile 'com.google.android.gms:play-services:11.8.0'
Γιατί;
Σημείωση: Μην χρησιμοποιείτε τον στόχο συνδυασμένου παιχνιδιού-υπηρεσιών. Φέρνει δεκάδες βιβλιοθήκες, διογκώνοντας την εφαρμογή σας. Αντ' αυτού, καθορίστε μόνο τα συγκεκριμένα API των υπηρεσιών Google Play που χρησιμοποιεί η εφαρμογή σας.
Και χρησιμοποιήστε ό,τι χρειάζεστε.https://developers.google.com/android/guides/setup
Όπως για την υπηρεσία τοποθεσίας
com.google.android.gms:play-services-location:11.8.0
Για Cloud Messaging
com.google.android.gms:play-services-gcm:11.8.0
Έχετε πάρα πολλές μεθόδους. Το αρχείο dex του Android έχει όριο 65536 μεθόδων που επιτρέπεται να έχετε.
Για αρχή, αν δεν χρειάζεστε όλο το API των υπηρεσιών google play και μόνο την τοποθεσία, αντικαταστήστε το
compile 'com.google.android.gms:play-services:11.8.0'
με
compile 'com.google.android.gms:play-services-location:11.8.0'
Μπορείτε να ανατρέξετε σε αυτή τη σελίδα για τρόπους αποφυγής της ή αν χρειάζεται να επιτρέψετε περισσότερα: https://developer.android.com/studio/build/multidex.html