Flutter-geolocator: 无法在我的应用程序中编译。

创建于 2020-04-07  ·  3评论  ·  资料来源: Baseflow/flutter-geolocator

🐛 错误报告

我试过在我的应用程序中使用它,但无法编译。 我尝试在 pubspec.yaml 中使用“geolocator:^5.3.1”,但由于出现这些错误,我下载了源代码以及包“location_permissions”的源代码,当我直接打开应用程序并运行示例时编译没有问题. 但是当我将它添加到我的 Android 应用程序中时,我得到了这个。

使用 location_permissions 包的某种问题。

F:_WORK_FLUTTERflutter-permission-plugins-developpackageslocation_permissionsandroidsrcmainjavacombaseflowlocation_permissionsLocationPermissionsPlugin.java:284:错误:找不到符号
|| (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && permission.equals(Manifest.permission.ACCESS_BACKGROUND_LOCATION));
^
符号:变量 Q
位置:类 VERSION_CODES
F:_WORK_FLUTTERflutter-permission-plugins-developpackageslocation_permissionsandroidsrcmainjavacombaseflowlocation_permissionsLocationPermissionsPlugin.java:284:错误:找不到符号
|| (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && permission.equals(Manifest.permission.ACCESS_BACKGROUND_LOCATION));
^
符号:变量 ACCESS_BACKGROUND_LOCATION
地点:班级权限
F:_WORK_FLUTTERflutter-permission-plugins-developpackageslocation_permissionsandroidsrcmainjavacombaseflowlocation_permissionsLocationPermissionsPlugin.java:310:错误:找不到符号
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && hasPermissionInManifest(Manifest.permission.ACCESS_BACKGROUND_LOCATION, context)) {
^
符号:变量 Q
位置:类 VERSION_CODES

配置

改变了我的 build.gradle

安卓 {
compileSdkVersion 29

我正在使用 AndroidX

但同样的错误。

最有用的评论

我已将以下代码放入 root build.gradle 中:

ext {
    compileSdkVersion = 29
}

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

在应用程序 build.gradle 中:

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
}

它对我有用!

所有3条评论

我已将以下代码放入 root build.gradle 中:

ext {
    compileSdkVersion = 29
}

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

在应用程序 build.gradle 中:

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
}

它对我有用!

分机{
compileSdkVersion = 29
}

子项目{子项目->
评估后{
if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) {
安卓 {
compileSdkVersion rootProject.ext.compileSdkVersion
}
}
}
}

也为我工作! 谢谢!

关闭这个问题,因为@MigoTiti似乎已经提供了解决方案并且没有收到其他反馈。 @MigoTiti感谢您的贡献,也感谢@MarcioAlexandroni确认它有效。

此页面是否有帮助?
0 / 5 - 0 等级