Flutter-geolocator: Kann in meiner App nicht kompiliert werden.

Erstellt am 7. Apr. 2020  ·  3Kommentare  ·  Quelle: Baseflow/flutter-geolocator

🐛 Fehlerbericht

Ich habe versucht, dies in meiner App zu verwenden, kann es aber nicht kompilieren. Ich habe versucht, "geolocator: ^5.3.1" in pubspec.yaml zu verwenden, aber da ich diese Fehler erhalten habe, habe ich die Quelle zusammen mit der Quelle für das Paket "location_permissions" heruntergeladen, das kein Problem kompiliert hat, als ich die App direkt geöffnet und die Beispiele ausgeführt habe . Aber wenn ich es in meine Android-App einfüge, bekomme ich das.

Irgendein Problem bei der Verwendung des Pakets location_permissions.

F:_WORK_FLUTTERflutter-permission-plugins-developpackageslocation_permissionsandroidsrcmainjavacombaseflowlocation_permissionsLocationPermissionsPlugin.java:284: Fehler: Symbol kann nicht gefunden werden
|| (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && permission.equals(Manifest.permission.ACCESS_BACKGROUND_LOCATION));
^
Symbol: Variable Q
Speicherort: Klasse VERSION_CODES
F:_WORK_FLUTTERflutter-permission-plugins-developpackageslocation_permissionsandroidsrcmainjavacombaseflowlocation_permissionsLocationPermissionsPlugin.java:284: Fehler: Symbol kann nicht gefunden werden
|| (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && permission.equals(Manifest.permission.ACCESS_BACKGROUND_LOCATION));
^
Symbol: Variable ACCESS_BACKGROUND_LOCATION
Ort: Klassenerlaubnis
F:_WORK_FLUTTERflutter-permission-plugins-developpackageslocation_permissionsandroidsrcmainjavacombaseflowlocation_permissionsLocationPermissionsPlugin.java:310: Fehler: Symbol kann nicht gefunden werden
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && hasPermissionInManifest(Manifest.permission.ACCESS_BACKGROUND_LOCATION, Kontext)) {
^
Symbol: Variable Q
Speicherort: Klasse VERSION_CODES

Aufbau

Meine build.gradle geändert

Android {
compileSdkVersion 29

und ich benutze AndroidX

aber gleicher Fehler.

Hilfreichster Kommentar

Ich habe den folgenden Code in root build.gradle eingefügt:

ext {
    compileSdkVersion = 29
}

subprojects { subproject ->
    afterEvaluate{
        if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) {
            android {
                compileSdkVersion rootProject.ext.compileSdkVersion
            }
        }
    }
}

Und in app build.gradle:

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
}

Bei mir hat es funktioniert!

Alle 3 Kommentare

Ich habe den folgenden Code in root build.gradle eingefügt:

ext {
    compileSdkVersion = 29
}

subprojects { subproject ->
    afterEvaluate{
        if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) {
            android {
                compileSdkVersion rootProject.ext.compileSdkVersion
            }
        }
    }
}

Und in app build.gradle:

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
}

Bei mir hat es funktioniert!

Nebenstelle {
compileSdkVersion = 29
}

Teilprojekte { Teilprojekt ->
nachEvaluieren{
if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) {
Android {
compileSdkVersion rootProject.ext.compileSdkVersion
}
}
}
}

Hat bei mir auch funktioniert! Danke!

Dieses Problem wird geschlossen, da @MigoTiti anscheinend eine Lösung bereitgestellt hat und kein weiteres Feedback eingegangen ist. @MigoTiti danke für deinen Beitrag und danke an @MarcioAlexandroni für die Bestätigung, dass es funktioniert.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

deisold picture deisold  ·  3Kommentare

estevez-dev picture estevez-dev  ·  6Kommentare

hectorAguero picture hectorAguero  ·  5Kommentare

seakmengc picture seakmengc  ·  3Kommentare

DineshKachhot picture DineshKachhot  ·  7Kommentare