Flutter使用开源项目时几个常见问题的解决方法

2020-04-23  本文已影响0人  月魂xioa

第一步,进去全是红线。

进入pubspec.yaml页面,点击Packages get,先将第三方包全都导入再说。

静候一会,studio下面的messages里会显示flutter pub get  ,等这一步完成。一般情况下这个时候项目就已经正常了。如果还有红线,你可以点到相应的文件里查看具体是缺少了那些东西。这些红线一般来说代表着文件缺失。

第二步,运行项目。

第一次运行速度会有点慢,这个时候如果你运气特别好的话,就能直接运行成功,大多数时候,这个时候是失败的,请查看报出的错误。

一般情况下是第三方包的版本问题,类似于这个:

例子1

去pubspec.yaml里果然发现了cached_network_image: 1.1.0拿着cached_network_image去pub.dev搜索了一下,发现上面的版本早就更新到了

将这个复制到你找到的开源项目里,pub get,没问题,就重复第二步,继续运行项目,有问题的话,可能会类似于这种

例子

flutter_cache_manager的版本不符合,查找它的最新版本,复制到你的项目

继续运行,又遇到了

More than one file was found with OS independent path 'META-INF/proguard/androidx-annotations.pro'这个问题。

在android-app-build.gradle上面添加上上面提示的这句就行。如下

例子

最后,我正常运行起来了。

其他:

1、androidx的警告

警告信息

这个警告信息的解决办法是,修改android下的gradle.properties文件,添加

android.useAndroidX=true

android.enableJetifier=true

2、gradle版本的问题

错误提示:Failed to notify ProjectEvaluationListener.afterEvaluate(), but primary configuration failure takes precedence.

修改android-gradle-wrapper-gradle-wrapper.properties里的distributionUrl和android-build.gradle里的dependencies

顺便这个之后可能还会出错,那个时候应该是你的compileSdkVersion版本太低了。毕竟你gradle版本都这么低,何况compileSdkVersion的版本,改成你目前正在用的版本就行了。

总结一下:

一般来说,大家能找到的开源项目,都是较老的版本,很多甚至已经不再更新,所以经常会出现各种问题。这些问题,归根结底的说,都是因为很多东西不再支持老版本,所以需要讲项目里用到的很多东西进行更新。对第三方插件更新、gradle版本更新、androidX相关的更新,只要能解决好这些,项目大多都能运行的起来。为什么说大多呢?因为总有一些奇葩的项目会少传几个文件,而这些文件还被其他文件引用了。好了,就说这些了,祝大家学习愉快。

上一篇下一篇

猜你喜欢

热点阅读