Flutter —— 将开源项目改为 Debug 模式

这几天一直在学习 Flutter ,使用 Flutter 做移动端开发真的是事半功倍。但是,这里面的坑不是一般的多,很多问题都需要在 Flutter GitHub 开源社区里面查找解决方案,甚至还会出现没有提到的问题。这时候就需要在开源社区内提问,运气好的话可能会有 dalao 回答你的问题,但也有可能很长时间都没人回应。

好了,闲话就话不多说了,回到主题。刚好最近想尝试开发一个 Flutter 移动端的项目,思来想去决定做一个本地音乐播放器,之前也有做过,思路相对比较清晰。但是 Flutter 开发项目需要做哪些准备,还不是很明确,于是就去 GitHub 查找别人开源 Flutter 项目借鉴一下。也很顺利的就找到了,有兴趣的可以了解一下,这里是项目地址
https://github.com/iampawan/Flutter-Music-Player

使用 Android Studio 顺利导入到本地,启动编译,然后就报错。。。没办法,意料之内。

于是开始 Debug ,看看哪里出问题,异常显示无法找到文件。并且在 app module 下的 build.gradle 文件的一行中报错。之后我就顺着报错位置找到了这样的脚本代码:

def keystorePropertiesFile = rootProject.file("key.properties")
def keystoreProperties = new Properties()
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

这段代码是出现在 app 下的 build.gradle 文件内的,看到 key.properties 文件就知道肯定是作者发布使用的 key,于是就把这句脚本代码注释掉。然后再次编译,还是报错。。。嗯,肯定没那么简单,不然就不是 Flutter 了。

于是开始查看报错原因,跟之前一样,还是 app 下的 build.gradle 文件脚本语言出错,顺着找了下,发现以下代码:

signingConfigs { release { keyAlias keystoreProperties['keyAlias'] keyPassword keystoreProperties['keyPassword'] storeFile file(keystoreProperties['storeFile']) storePassword keystoreProperties['storePassword'] }
}


 buildTypes { release { signingConfig signingConfigs.release }
 }

一看就知道是我没有细心看完这些脚本,这里还有其他的发布脚本。注释,但是不能全部注释掉,要把 release 改为 debug ,这样应该没问题了,以下是上面脚本代码修改后的完整版:

 buildTypes {
     release {
         signingConfig signingConfigs.debug
     }
 }

只要保留 buildTypes ,并修改一下配置。正准备开始编译的时候,想起来之前有看到 Project 下的 local.properties 文件有个 flutter.buildMode=debug 配置语句,这个是正式发布过的,我觉得应该有什么猫腻,就打开看了一下。嗯,要把这句加上,然后编译开始。很遗憾,又报错了。看一下报错原因:FormatException: Bad UTF-8 encoding 0xc3。好迷,这是什么鬼,为什么 FormatException ,难道作者有设置什么猫腻吗?

因为实在找不到方法,就问了一下 Google 。看到 Flutter 的 GitHub 开源社区里有该问题的讨论,点开看看。有一个和我遇到同样问题的踩坑人,于是看了下讨论内容,只有一个 dalao 给他提供了解决方案,说是未知文件导致的,还说只要找到删除就好了。唔。。。没理解,于是在切回编译器,找项目中多余的文件。

找了好久没有头绪,于是我机智的打开之前的项目,对比了目录,发现 app 下的除了 build.gradle 和文件夹外,没有其他的文件。好吧,可能是这些多余的配置文件的过,我就把它们一口气删除。编译,通过。。。好吧,问题解决了。

于是我又踩了一个坑,然后在这里给其他同样遇到这个问题的小伙伴们分享下,省的再走这样的弯路。

    原文作者:贝维斯
    原文地址: https://blog.csdn.net/PD_Wang/article/details/80095543
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞