【问题标题】:Error wilth building app on android emulator flutter在android模拟器上构建应用程序时出错
【发布时间】:2021-12-28 00:54:43
【问题描述】:

我不知道出了什么问题,但是每次我尝试在模拟器上运行此代码时,它都会在终端中显示错误并且无法运行,但是一旦我选择 chrome 作为测试设备,它就可以顺利运行,我我正在尝试使用来自 pub.dev 的 geolocator 包

我的代码:

import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.dart';

class LoadingScreen extends StatefulWidget {
  @override
  _LoadingScreenState createState() => _LoadingScreenState();
}

class _LoadingScreenState extends State<LoadingScreen> {
  void geolocation() async {
    Position position = await Geolocator.getCurrentPosition(
      desiredAccuracy: LocationAccuracy.low,
    );
    print(position);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: ElevatedButton(
          onPressed: () {
            geolocation();
            //Get the current location
          },
          child: Text('Get Location'),
        ),
      ),
    );
  }
}

显示的错误:

C:\src\flutter\flutter\.pub-cache\hosted\pub.dartlang.org\geolocator_android-3.0.1\android\src\main\java\com\baseflow\geolocator\location\LocationMapper.java:29: error: cannot find symbol
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
                                                    ^
  symbol:   variable S
  location: class VERSION_CODES
C:\src\flutter\flutter\.pub-cache\hosted\pub.dartlang.org\geolocator_android-3.0.1\android\src\main\java\com\baseflow\geolocator\location\LocationMapper.java:30: error: cannot find symbol
      position.put("is_mocked", location.isMock());
                                        ^
  symbol:   method isMock()
  location: variable location of type Location
2 errors

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':geolocator_android:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 27s
Exception: Gradle task assembleDebug failed with exit code 1

【问题讨论】:

    标签: flutter dart dart-pub


    【解决方案1】:

    将 compileSDKVersion 从 29 更改为 31

    android {
    
        compileSdkVersion 31
        defaultConfig {
            minSdkVersion 21 
            targetSdkVersion 29
        }
    }
    

    【讨论】:

    • 谢谢它现在正在工作
    猜你喜欢
    • 2016-09-04
    • 1970-01-01
    • 2021-09-19
    • 2021-01-21
    • 2020-11-10
    • 2023-02-12
    • 1970-01-01
    • 2017-07-30
    • 2022-11-24
    相关资源
    最近更新 更多