【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
개발 환경
대략적인 절차
상세 단계
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이면 된다)
SDK를 가지고 놀아요.
어떻게든 31으로 만들고 싶은 고집쟁이라서 조금만 더 조사해보니 기사가 나왔어요
SDK의 두 파일의 이름을 변경하면 건물이 통과할 것 같습니다.
(솔직히 공식 SDK 하면 징그러워... 문제가 있으면 다시 설치하세요)
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.gradle
build.gradle- ext.kotlin_version = '1.3.50'
+ ext.kotlin_version = '1.5.21'
최후
한 번 치우고 세팅을 해볼게요.
flutter clean
flutter build apk
consoleWarning: 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
consoleRunning Gradle task 'assembleRelease'... 73.1s
√ Built build\app\outputs\hiyoco-apk\app-release.apk (53.7MB).
욕을 먹었지만.. 건물을 통과했어..오늘은 여기까지.. 난 이미 기진맥진해.. 돌아오고 싶어.
만약 진전이 있다면, 나는 보충할 것이다..
같은 문제가 있는 사람을 위해 조금이라도 공헌할 수 있다면 좋겠는데..
Reference
이 문제에 관하여(【Flutter】google_mobile_ads를 1.2.0으로 업데이트하는 중 구축 오류 발생), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/utouhiyoco/articles/7fe81d562ba11d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)