【Flutter】google_mobile_ads를 1.2.0으로 업데이트하는 중 구축 오류 발생

결실


먼저 결과로 삼다
google_mobile_ads를 1.2.0으로 업데이트하고 빌딩 자체(fluter build apk)가 통과했습니다.
새로운 문제(WARNING)가 발생하면 끝납니다.
console
Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
����:C:\Users\utouhiyoco\Documents\flutter\.pub-cache\hosted\pub.dartlang.org\launch_review-3.0.1\android\src\main\java\com\iyaffle\launchreview\LaunchReviewPlugin.java�͐�������Ȃ�API���g�p�܂��̓I�[�o�[���C�h���Ă��܂��B    
����:�ڍׂ́A-Xlint:deprecation�I�v�V�������w�肵�čăR���p�C�����Ă��������B
����:C:\Users\utouhiyoco\Documents\flutter\.pub-cache\hosted\pub.dartlang.org\path_provider_android-2.0.11\android\src\main\java\io\flutter\plugins\pathprovider\PathProviderPlugin.java�̑���́A���`�F�b�N�܂��͈��S�ł͂���܂���B
����:�ڍׂ́A-Xlint:unchecked�I�v�V�������w�肵�čăR���p�C�����Ă��������B

개발 환경

  • windows 10
  • flutter 2.5.3
  • Dart 2.14.4
  • android
  • 대략적인 절차

  • google_mobile_ads 업그레이드
  • google_mobile_ads를 "1.2.0"
  • 으로 변경
  • SDK 버전 업그레이드
  • compuileSdkVersion 및 데이터측 SdkVersion을 "31"
  • 로 변경
  • buildToolsVersion을 "31.0"
  • 으로 설정
  • SDK 가지고 놀기
  • d8.데이터를dat 이름 바꾸기
  • d8.jar을파일 이름이jar'
  • 로 변경됨
  • Kotlin 버전 업그레이드
  • Kotlin을 "1.5.21"
  • 로 변경

    상세 단계


    google_mobile_ads^0.1.0+2→1.2.0 변경


    pubspec.yaml의 구글mobile_ads 버전 수정
    pubspec.yaml
    - google_mobile_ads: ^0.11.0+2
    + google_mobile_ads: 1.2.0
    
    flutter pub get

    SDK 버전 변경


    한 번 구축하려고 시도하는 중 오류가 발생했습니다


    console
    * What went wrong:
    Execution failed for task ':app:checkReleaseAarMetadata'.
    > A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction    
       > The minCompileSdk (31) specified in a
         dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)
         is greater than this module's compileSdkVersion (android-30).
         Dependency: androidx.work:work-runtime:2.7.0.
         AAR metadata file: C:\Users\utouhiyoco\.gradle\caches\transforms-2\files-2.1\014526cbe917f780df005b8a51f68252\work-runtime-2.7.0\META-INF\com\android\build\gradle\aar-metadata.properties.
    
    "장난치지 마, SDK30!? SDK31 안 되면 못 움직여."
    잘 모르겠지만 내가 그런 말을 하는 것 같아
    ...알았어, 알았어...

    commpileSdkVersion 및 데이터 소스를 30→31로 변경

    android > app > build.gradle에서 SDK 버전 변경
    build.gradle
    android {
    -    compileSdkVersion 30
    -    buildToolsVersion "30.0.2"
    +    compileSdkVersion 31
    +    buildToolsVersion "31.0.0"
    
        sourceSets {
            main.java.srcDirs += 'src/main/kotlin'
        }
    
        lintOptions {
            disable 'InvalidPackage'
        }
    
        defaultConfig {
            applicationId "com.minaide.hazukasii"
            minSdkVersion 23
    -        targetSdkVersion 30
    +        targetSdkVersion 31
            versionCode flutterVersionCode.toInteger()
            versionName flutterVersionName
        }
    

    빌딩이 막히다.


    플러그인 버전도 업데이트됐는데...
    SDK 버전도 맞췄어요!
    이렇게 하면 빌딩을 통과할 수 있겠지!!!
    console
    * What went wrong:
    Could not determine the dependencies of task ':app:lintVitalRelease'.
    > Could not resolve all dependencies for configuration ':app:lintClassPath'.
       > Could not create task ':app:minifyReleaseWithR8'.
          > Installed Build Tools revision 31.0.0 is corrupted. Remove and install again using the SDK Manager.
    
    에이, "구축 도구 31.0.0이 고장났어요. 다시 설치...?"
    그게 무슨 일이야.. 알았어..

    이렇게 한번Apply
    다시 한 번 체크Apply다시 설치하면 다시 만들어야 돼요!
    console
    * What went wrong:
    Could not determine the dependencies of task ':app:lintVitalRelease'.
    > Could not resolve all dependencies for configuration ':app:lintClassPath'.
       > Could not create task ':app:minifyReleaseWithR8'.
          > Installed Build Tools revision 31.0.0 is corrupted. Remove and install again using the SDK Manager.
    
    사람마다 다 있다
    빙그레 웃다.
     ̄Y^Y^Y^Y^Y^Y^Y ̄
    똑같은 내용의 오류를 말했어(31이 고장났어)...
    조사해보니까 31이 어려워요?같다

    당분간 30단계로 낮추는 것을 추천하는 것 같다.


    (특별한 이유가 없으면 30이면 된다)
    https://unluckysystems.com/[android-스튜디오] 구축 중 오류 발생 installed-build-tools-31-0-is corrupted-remove and-install-again-sing-the-sd-manage/

    SDK를 가지고 놀아요.


    어떻게든 31으로 만들고 싶은 고집쟁이라서 조금만 더 조사해보니 기사가 나왔어요
    https://stackoverflow.com/questions/68387270/android-studio-error-installed-build-tools-revision-31-0-0-is-corrupted
    SDK의 두 파일의 이름을 변경하면 건물이 통과할 것 같습니다.
    (솔직히 공식 SDK 하면 징그러워... 문제가 있으면 다시 설치하세요)
  • d8.bat에서 dx까지.bat
  • d8.jar에서 온 dx입니다.jar
  • d8.bat에서 dx까지.bat

    C:\Users\”あなたのユーザー名”\AppData\Local\Android\Sdk\build-tools\31.0.0\d8.bat열다C:\Users\”あなたのユーザー名”\AppData\Local\Android\Sdk\build-tools\31.0.0\dx.bat다음으로 수정

    d8.jar에서 온 dx입니다.jar

    C:\Users\”あなたのユーザー名”\AppData\Local\Android\Sdk\build-tools\31.0.0\lib\d8.jar열다C:\Users\”あなたのユーザー名”\AppData\Local\Android\Sdk\build-tools\31.0.0\lib\dx.jar다음으로 수정
    ※ lib 아래 주의

    Kotlin 버전 업그레이드


    구성 오류
    이번에 Kotlin이 때문에 혼났어요.
    console
    Execution failed for task ':app:compileReleaseKotlin'.
    
    솔직하게 승급해.
    오래된 flutter로 포장하면 그쪽 버전도 오래된 것 같아요.android > build.gradlebuild.gradle
    -    ext.kotlin_version = '1.3.50'
    +    ext.kotlin_version = '1.5.21'
    
    https://zenn.dev/sakusin/articles/3aadbe7f881f35

    최후


    한 번 치우고 세팅을 해볼게요.flutter clean flutter build apkconsole
    Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
    Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
    Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
    Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
    Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
    Warning: Mapping new ns http://schemas.android.com/repository/android/common/02 to old ns http://schemas.android.com/repository/android/common/01
    Warning: Mapping new ns http://schemas.android.com/repository/android/generic/02 to old ns http://schemas.android.com/repository/android/generic/01
    Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/addon2/02 to old ns http://schemas.android.com/sdk/android/repo/addon2/01
    Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/repository2/02 to old ns http://schemas.android.com/sdk/android/repo/repository2/01
    Warning: Mapping new ns http://schemas.android.com/sdk/android/repo/sys-img2/02 to old ns http://schemas.android.com/sdk/android/repo/sys-img2/01
    ����:C:\Users\utouhiyoco\Documents\flutter\.pub-cache\hosted\pub.dartlang.org\launch_review-3.0.1\android\src\main\java\com\iyaffle\launchreview\LaunchReviewPlugin.java�͐�������Ȃ�API���g�p�܂��̓I�[�o�[���C�h���Ă��܂��B    
    ����:�ڍׂ́A-Xlint:deprecation�I�v�V�������w�肵�čăR���p�C�����Ă��������B
    ����:C:\Users\utouhiyoco\Documents\flutter\.pub-cache\hosted\pub.dartlang.org\path_provider_android-2.0.11\android\src\main\java\io\flutter\plugins\pathprovider\PathProviderPlugin.java�̑���́A���`�F�b�N�܂��͈��S�ł͂���܂���B
    ����:�ڍׂ́A-Xlint:unchecked�I�v�V�������w�肵�čăR���p�C�����Ă��������B
    
    console
    Running Gradle task 'assembleRelease'...                           73.1s
    √  Built build\app\outputs\hiyoco-apk\app-release.apk (53.7MB).
    
    욕을 먹었지만.. 건물을 통과했어..
    오늘은 여기까지.. 난 이미 기진맥진해.. 돌아오고 싶어.
    만약 진전이 있다면, 나는 보충할 것이다..
    같은 문제가 있는 사람을 위해 조금이라도 공헌할 수 있다면 좋겠는데..

    좋은 웹페이지 즐겨찾기