ObliteratedJillo
ObliteratedJillo

Reputation: 5156

Issues with Google Maps enabled App using flutter framework on Android Studio

Trying to build a cross platform connected device Google Maps enabled App using flutter framework on Android Studio without success. The flutter run works seemlessly until device dependency google_maps_flutter: is used under pubspec.yaml. AndroidX is enabled in the gradle. So far trying only on the emulators.

The warning message furnished below seems appropriate, but the steps given in the link are difficult to realize. Build keeps on searching for version 5.4.1. The gradle wrapper is configured for gradle-4.10.2 and the gradle as com.android.tools.build:gradle:3.2.1. The Android version and SDK toolchains are up-to-date. Need help here.

The terminal warning message:

The plugin `flutter_plugin_android_lifecycle` is built using an older version of the Android
plugin API which assumes that it's running in a full-Flutter environment. It may have undefined 
behaviors when Flutter is integrated into an existing app as a module.The plugin can be 
updated to the v2 Android Plugin APIs by following https://flutter.dev/go/android-plugin-migration.

More error messages:

Project evaluation failed including an error in afterEvaluate {}. Run with --stacktrace for details of the afterEvaluate {} error.

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':flutter_plugin_android_lifecycle'.
> Could not resolve all artifacts for configuration ':flutter_plugin_android_lifecycle:classpath'.
   > Could not find com.android.tools.build:gradle:5.4.1.
     Searched in the following locations:
       - https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/5.4.1/gradle-5.4.1.pom
       - https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/5.4.1/gradle-5.4.1.jar
       - https://jcenter.bintray.com/com/android/tools/build/gradle/5.4.1/gradle-5.4.1.pom
       - https://jcenter.bintray.com/com/android/tools/build/gradle/5.4.1/gradle-5.4.1.jar
     Required by:
         project :flutter_plugin_android_lifecycle

flutter doctor -v

[√] Flutter (Channel master, v1.15.4-pre.134, on Microsoft Windows [Version 10.0.18362.657], locale en-US)
    • Flutter version 1.15.4-pre.134 at C:\Users\Encoded\flutter
    • Framework revision bf8e2c1449 (2 days ago), 2020-02-21 14:21:25 -0800
    • Engine revision f2f8c342be
    • Dart version 2.8.0 (build 2.8.0-dev.9.0 0f141be8bd)


[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at C:\Users\Encoded\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.2
    • Java binary at: D:\Apps\AndroidStudio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
    • All Android licenses accepted.

[√] Android Studio (version 3.5)
    • Android Studio at D:\Apps\AndroidStudio
    • Flutter plugin version 43.0.1
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)

[√] Connected device (1 available)
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 10 (API 29) (emulator)

• No issues found!

Edited: Here's the contents of pubspec.yaml

name: google_maps_for_flutter
description: A new Flutter project.
version: 1.0.0+1
environment:
  sdk: ">=2.1.0 <3.0.0"
dependencies:
  flutter:
    sdk: flutter
  shared_preferences: ^0.5.3+1
  http: ^0.12.0+2
  cupertino_icons: ^0.1.2
dev_dependencies:
  flutter_test:
    sdk: flutter
  google_maps_flutter:
flutter:
  uses-material-design: true
  assets:
    - assets/maps_style.json
  module:
    androidX: true

Edited pubspec.yaml as per the comment of Ovidiu like so

dependencies:
  flutter:
    sdk: flutter
  google_maps_flutter: ^0.0.3+3

The following errors are yet generated:

"Install Android SDK Platform 27 (revision: 3)" finished.
Path not found - D:\Android_Projects\GoogleMapsFlutter\google_maps_for_flutter_starter\android\app\${assetsDirectory}
D:\Android_Projects\GoogleMapsFlutter\google_maps_for_flutter_starter\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.java:4: error: package io.flutter.plugins.flutter_plugin_android_lifecycle does not exist
import io.flutter.plugins.flutter_plugin_android_lifecycle.FlutterAndroidLifecyclePlugin;
                                                          ^
D:\Android_Projects\GoogleMapsFlutter\google_maps_for_flutter_starter\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.java:16: error: cannot find symbol
    FlutterAndroidLifecyclePlugin.registerWith(registry.registrarFor("io.flutter.plugins.flutter_plugin_android_lifecycle.FlutterAndroidLifecyclePlugin"));
    ^
  symbol:   variable FlutterAndroidLifecyclePlugin
  location: class GeneratedPluginRegistrant
2 errors

FAILURE: Build failed with an exception.

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

Upvotes: 0

Views: 1280

Answers (1)

Farwa
Farwa

Reputation: 7024

To pass this error, add below line to app/proguard-rules.pro

-keep class androidx.lifecycle.** { *; }

And add bellow line to app/build.gradle

  lintOptions {
    checkReleaseBuilds false
}

Upvotes: 3

Related Questions