flutter開發中遇到的問題


Flutter 處理依賴沖突

當Flutter發生版本依賴沖突會有類似以下提示:

flutter_localizations any from sdk which depends on intl 0.15.8, intl 0.15.8 is required.
So, because env_pro_supervise depends on intl ^0.16.0, version solving failed.

我們只要在 pubspec.yaml 中將依賴改為相同版本。
如果是兩個依賴的依賴沖突,不清楚當前到底應該使用依賴的哪一個版本時,我們可以使用any來解決版本依賴版本沖突的問題。由於不推薦使用any依賴,我們需要在pubspec.lock中找到正確的版本替換。
如果還是提示沖突,我們可以在 pubspec.yaml 添加以下內容,強制下載,忽略不兼容。

dependency_overrides:
  intl: ^0.16.0

Flutter打包apk報錯:Your app isn't using AndroidX.

對於此項目構建Apk提示問題,只需要添加兩行代碼即可解決。
在gradle.properties中添加如下代碼即可:

android.enableJetifier=true
android.useAndroidX=true

flutter run后提示CachedNetworkImageProvider.load的異常,異常信息如下

Compiler message:
/D:/Software/Android/flutter/.pub-cache/hosted/pub.flutter-io.cn/cached_network_image-1.1.0/lib/src/cached_network_image_provider.dart:42:24: Error: The method 'CachedNetworkImageProvider.load' has fewer positional arguments than those of overridden method 'ImageProvider.load'.
  ImageStreamCompleter load(CachedNetworkImageProvider key) {
                       ^
/D:/Software/Android/flutter/packages/flutter/lib/src/painting/image_provider.dart:403:24: Context: This is the overridden method ('load').
  ImageStreamCompleter load(T key, DecoderCallback decode);

解決方法:
打開pubspec.yaml文件,修改cached_network_image版本從原來的 1.1.0修改為2.0.0-rc,然后點擊Packages get 完成后,重新運行,錯誤日志如下

Running "flutter pub get" in FlutterDouBan...                   
Because cached_network_image 2.0.0-rc depends on flutter_cache_manager ^1.1.2 and doubanapp depends on flutter_cache_manager 1.1.0, cached_network_image 2.0.0-rc is forbidden.

再次修改pubspec.yaml文件,把flutter_cache_manager版本更改1.1.2就可以

運行flutter run后提示androidx-annotations.pro異常,異常信息如下

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
> More than one file was found with OS independent path 'META-INF/proguard/androidx-annotations.pro'

解決方法:
修改build.gradle打包的時候忽略掉 androidx-annotations.pro

android {
    packagingOptions {
        exclude 'META-INF/proguard/androidx-annotations.pro'
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM