본문 바로가기

Flutter admob 달기 중


1.잘돌아가던 앱에 애드몹 설정시 에러
2.flutter 버전 2.08 2.8.1 / dart 2.15.1
3.pubspec.yaml에 google_mobile_ads: ^1.1.0
4.아무것도 안하고 빌드시 바로 아래와 같은 에러 뱉어냄

Launching lib\main.dart on 내디바이스 in debug mode...
e: 내플젝경로.gradle/caches/transforms-2/files-2.1/683fded33b117c0eb9bb9deabca1a71e/work-runtime-2.7.0-api.jar!/META-INF/work-runtime_release.
kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:compileDebugKotlin'.
> Compilation error. See log for more 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 58s
[!] Your project requires a newer version of the Kotlin Gradle plugin.
    Find the latest version on https://kotlinlang.org/docs/gradle.html#plugin-and-versions, 
    then update 내프로젝트경로\android\build.gradle:
    ext.kotlin_version = '<latest-version>'
Exception: Gradle task assembleDebug failed with exit code 1
Exited (sigterm)

5.해결 : 
안드로이드 프로젝트 안의 build.gradle에 코틀린 버전 변경

 


buildscript {
    ext.kotlin_version = '1.3.50'
    repositories {
        google()
        mavenCentral()
    }

=> ext.kotlin_version = '1.6.10'


//참고 
https://velog.io/@terman/Flutter-FixYour-project-requires-a-newer-version-of-the-Kotlin-Gradle-plugin

이렇게 하니 아래와 같은 경고가  보인다. 그 이후 정상적으로 컴파일 및 런쳐
Note: 내플러터 경로\.pub-cache\hosted\pub.dartlang.org\location-4.3.0\android\src\main\java\com\lyokone\location\FlutterLocation.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
√  Built build\app\outputs\flutter-apk\app-debug.apk.

앱 닫을 때 광고 보여주기

https://here4you.tistory.com/189

 

광고 예시

https://github.com/kmcgill88/admob_flutter

 

코드가 아무리봐도 이상이 없는 경우는 버전등을 참고를 하면 된다. 물론 그게 문제였다는걸 알기까지는 대단한 삽질과 시간이 들어가긴 하지만 이러한 것들이 모여 경험이 되는게 아닐까

 

버전업도 자주 되는 편이고 난 그 버전을 바로바로 따라가는 스타일이 아니라서 이게 문제가 되는 경우도 종종있다.그리고 글 작성시에는 잘 되었는데 시간이 지나면 안되는 경우도 있다.