인프런 커뮤니티 질문&답변

김코딩님의 프로필 이미지
김코딩

작성한 질문수

Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)

_image == null ? Text('No Image') : Image.file(_image),

작성

·

451

1

_image == null ? Text('No Image') : Image.file(_image),

 

여기서 괄호안에 있는 _image가 에러가 납니다.

 

답변 4

1

김코딩님의 프로필 이미지
김코딩
질문자

해봤는데 안되네요ㅠ

 

 

The argument type 'File?' can't be assigned to the parameter type 'File'.

 

이렇게 뜹니다.

 

 

오준석님의 프로필 이미지
오준석
지식공유자

Null Safety 적용하여 진행중이시군요.

다음 코드를 참고하세요.

https://github.com/junsuk5/flutter_insta_clon/tree/null-safety

image_picker: ^0.8.4+4 기준입니다.

 

Null Safety 관련 내용이 챕터 7에 있으니 그 부분도 훑어보시면 좋겠네요.

0

김코딩님의 프로필 이미지
김코딩
질문자

아...되네요 이제 SDK를 31로 하니까 됐습니다..하아...쉽지 않네여

오준석님의 프로필 이미지
오준석
지식공유자

네. 에러메시지에 해결책이 나와서 이건 쉽게 해결이 가능합니다.

Flutter 가 네이티브 기능을 사용하는 패키지를 사용할 때는 Android와 iOS 쪽 수정을 해야하는 경우가 있는데 이게 초보 시절 가장 어려운 점입니다.

특히나 Android가 복잡합니다.

그런데 하다보면 대충 패턴이 보이니까요.

0

김코딩님의 프로필 이미지
김코딩
질문자

 

Launching lib\main.dart on Android SDK built for x86 in debug mode...

Warning: The plugin flutter_plugin_android_lifecycle requires Android SDK version 31.

Warning: The plugin image_picker_android requires Android SDK version 31.

One or more plugins require a higher Android SDK version.

Fix this issue by adding the following to L:\flutter\instagram_clone_2\android\app\build.gradle:

android {

  compileSdkVersion 31

  ...

}

 

FAILURE: Build failed with an exception.

 

* What went wrong:

Execution failed for task ':app:checkDebugAarMetadata'.

> Multiple task action failures occurred:

   > 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.window:window-java:1.0.0-beta04.

        AAR metadata file: C:\Users\apoet\.gradle\caches\transforms-2\files-2.1\ad201fac15a88598107ec645f351f5b4\jetified-window-java-1.0.0-beta04\META-INF\com\android\build\gradle\aar-metadata.properties.

   > 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.window:window:1.0.0-beta04.

        AAR metadata file: C:\Users\apoet\.gradle\caches\transforms-2\files-2.1\03c633e46d75bfb21f082f0417f55161\jetified-window-1.0.0-beta04\META-INF\com\android\build\gradle\aar-metadata.properties.

 

* 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 5s

Exception: Gradle task assembleDebug failed with exit code 1

Exited (sigterm)

 

오류는 안뜨는데 에뮬레이터가 안되네요.

0

오준석님의 프로필 이미지
오준석
지식공유자

어떤 에러가 나는지 에러메시지를 알려주셔야 정확한 진단이 가능한데요.

아마 타입이 안 맞는다고 할 것 같습니다. 

 

image_picker : 0.7.4 기준으로

우선 변경사항 확인하시고

https://github.com/junsuk5/flutter_insta_clon/commit/dc5583a035ac8ec5216a8c8df921ab0b72bf2898

 

완성 코드 비교 해 보시기 바랍니다.

https://github.com/junsuk5/flutter_insta_clon/blob/dc5583a035ac8ec5216a8c8df921ab0b72bf2898/lib/create_page.dart

 

최신 버전은 image_picker 0.8.5+3 이기 때문에 그 사이에 또 변경사항이 있을 수 있습니다. 최신 버전 적용시에는 공식 문서 확인해 보세요.

https://pub.dev/packages/image_picker

김코딩님의 프로필 이미지
김코딩

작성한 질문수

질문하기