flutter異常分析

1、插件shared_preferences找不到gradle,詳細日誌如下:

* What went wrong:
A problem occurred configuring project ':shared_preferences'.
> Could not resolve all artifacts for configuration ':shared_preferences:classpath'.
   > Could not resolve com.android.tools.build:gradle:3.4.0.
     Required by:
         project :shared_preferences
      > Could not resolve com.android.tools.build:gradle:3.4.0.
         > Could not get resource 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.4.0/gradle-3.4.0.pom'.
            > Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.4.0/gradle-3.4.0.pom'.
               > Connect to 127.0.0.1:1087 [/127.0.0.1] failed: Connection refused: connect
      > Could not resolve com.android.tools.build:gradle:3.4.0.
         > Could not get resource 'https://jcenter.bintray.com/com/android/tools/build/gradle/3.4.0/gradle-3.4.0.pom'.
            > Could not GET 'https://jcenter.bintray.com/com/android/tools/build/gradle/3.4.0/gradle-3.4.0.pom'.
               > Connect to 127.0.0.1:1087 [/127.0.0.1] failed: Connection refused: connect
> Failed to notify project evaluation listener.
   > Could not get unknown property 'android' for project ':shared_preferences' of type org.gradle.api.Project.
   > Could not find method implementation() for arguments [project ':shared_preferences_macos'] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
   > Could not find method implementation() for arguments [project ':shared_preferences_web'] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
* 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.

分析,這裏shared_preferences這個第三方插件,找不到Android gradle插件(注意這個是Android gradle插件版本,不是gradle版本),但是在Android根目錄下的build.gradle文件中配置如下:

classpath 'com.android.tools.build:gradle:3.5.0'

可以發現shared_preferences用的Android gradle插件版本與項目中配置的版本不一致,懷疑原因就是這裏,那要如何修改呢?
參考這裏https://stackoverflow.com/questions/59468295/failure-build-failed-with-an-exception-shared-preference-and-gradle-wrapper-pr
Android Gradle 插件版本說明
翻譯過來,在

flutter SDK目錄\.pub-cache\hosted\pub.flutter-io.cn\shared_preferences-0.5.6+2\android\build.gradle

注意這裏pub.flutter-io.cn目錄名稱根據你配置的maven倉庫,找到相應的一個:
在這裏插入圖片描述
用文本編輯器打開build.gradle文件,發現shared_preferencesd的build.gradle如下

classpath 'com.android.tools.build:gradle:3.4.0'

這裏我們把Android gradle插件版本改成與項目一致的3.5.0即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章