第一步,进去全是红线。
进入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相关的更新,只要能解决好这些,项目大多都能运行的起来。为什么说大多呢?因为总有一些奇葩的项目会少传几个文件,而这些文件还被其他文件引用了。好了,就说这些了,祝大家学习愉快。
网友评论