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
Cambié mi build.gradle
androide {
compileSdkVersión 29
y estoy usando AndroidX
pero el mismo error.
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.
Comentario más útil
He puesto el siguiente código dentro de root build.gradle:
Y en la aplicación build.gradle:
¡Funcionó para mí!