Flutter-geolocator: No se puede compilar en mi aplicación.

Creado en 7 abr. 2020  ·  3Comentarios  ·  Fuente: Baseflow/flutter-geolocator

🐛 Informe de error

Intenté usar esto en mi aplicación pero no puedo compilar. Intenté usar "geolocator: ^5.3.1" en pubspec.yaml, pero como recibí estos errores, descargué la fuente junto con la fuente del paquete "location_permissions", que se compiló sin problemas cuando abrí la aplicación directamente y ejecuté los ejemplos. . Pero cuando lo agrego a mi aplicación de Android, obtengo esto.

Algún tipo de problema con el uso del paquete location_permissions.

F:_WORK_FLUTTERflutter-permission-plugins-developpackageslocation_permissionsandroidsrcmainjavacombaseflowlocation_permissionsLocationPermissionsPlugin.java:284: error: no se puede encontrar el símbolo
|| (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && allow.equals(Manifest.permission.ACCESS_BACKGROUND_LOCATION));
^
símbolo: variable Q
ubicación: clase VERSION_CODES
F:_WORK_FLUTTERflutter-permission-plugins-developpackageslocation_permissionsandroidsrcmainjavacombaseflowlocation_permissionsLocationPermissionsPlugin.java:284: error: no se puede encontrar el símbolo
|| (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && allow.equals(Manifest.permission.ACCESS_BACKGROUND_LOCATION));
^
símbolo: variable ACCESS_BACKGROUND_LOCATION
ubicación: permiso de clase
F:_WORK_FLUTTERflutter-permission-plugins-developpackageslocation_permissionsandroidsrcmainjavacombaseflowlocation_permissionsLocationPermissionsPlugin.java:310: error: no se puede encontrar el símbolo
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && hasPermissionInManifest(Manifest.permission.ACCESS_BACKGROUND_LOCATION, context)) {
^
símbolo: variable Q
ubicación: clase VERSION_CODES

Configuración

Cambié mi build.gradle

androide {
compileSdkVersión 29

y estoy usando AndroidX

pero el mismo error.

Comentario más útil

He puesto el siguiente código dentro de root build.gradle:

ext {
    compileSdkVersion = 29
}

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

Y en la aplicación build.gradle:

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
}

¡Funcionó para mí!

Todos 3 comentarios

He puesto el siguiente código dentro de root build.gradle:

ext {
    compileSdkVersion = 29
}

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

Y en la aplicación build.gradle:

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
}

¡Funcionó para mí!

extensión {
compilarSdkVersion = 29
}

subproyectos { subproyecto ->
después de evaluar{
if((subproyecto.plugins.hasPlugin('android') || subproyecto.plugins.hasPlugin('android-library'))) {
androide {
compileSdkVersion rootProject.ext.compileSdkVersion
}
}
}
}

Trabajó para mí también! ¡Gracias!

Cerrando este problema, ya que @MigoTiti parece haber proporcionado una solución y no se recibió ningún otro comentario. @MigoTiti gracias por tu aporte también gracias a @MarcioAlexandroni por confirmar que funciona.

¿Fue útil esta página
0 / 5 - 0 calificaciones