Flutter에서 파일 다운로드를 구현하려고 flutter_downloader 패키지를 이용하려고 했다.
예제 코드를 돌려보는데 아래처럼 죄다 fail이 떴다. (맨위에는 나중에 해결한 것)
java.io.File com.parse.ParsePlugins.getParseDir() 부터해서
Cleartext HTTP traffic to ~~ not permitted,
java.lang.String java.io.File.getPath(),
java.lang.illegalargumentexception: couldn't find meta-data for provider with authority com.example.filedownloader.flutter_downloader.provider 와 같이 각종 오류들이 터져나온다.
그래서 관련 오류들을 검색해보니까 죄다 안드로이드 네이티브 해결책만 검색되어서 꽤 헤맸다.
해결 방법은
플러터 프로젝트 > android > app > src > main > res > AndroidManifest.xml 에서
<application></application> 사이에
<provider
android:name="vn.hunghd.flutterdownloader.DownloadedFileProvider"
android:authorities="${applicationId}.flutter_downloader.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
위와 코드를 추가해주면 된다. 그래서 추가된 모습은 이렇다.
해결한 방법은 그냥 패키지 이슈목록에서 찾는거였다.
https://github.com/fluttercommunity/flutter_downloader/issues/167#issuecomment-552059741
위를 통해서 해결방법을 찾을 수 있었다.
혹시나 http로 시작하기 때문에 다운로드가 안된다는 오류가 나타난다면, AndroidManifest.xml파일에 <application 안에 다음과 같이
android:usesCleartextTraffic="true"
를 추가해주도록하자.
'컴퓨터 > Flutter' 카테고리의 다른 글
M1칩 MacOS에 Flutter 설치, Android Studio 설정 (0) | 2022.02.06 |
---|---|
iOS 빌드까지의 여정 1. Apple Developer 등록하기 (0) | 2022.01.27 |
[Flutter] 플러터 빌드 오류 (해결, 플러터 업데이트/SDK Manager/Xcode 업데이트) (0) | 2022.01.03 |
안드로이드 스튜디오 git Merge 쉽게 하는 법 (conflict 없이!!) (0) | 2020.07.04 |
[Flutter] 레이아웃 연습 (0) | 2020.05.16 |
댓글