flutter代码既要关联android,又要关联IOS,最好当然是android、ios、flutter代码统一一起代码管理,但很多公司android和ios原本就是分开的,所以会单独将flutter代码独立出来,如果公司有多个android开发或苹果开发,就需要一个人创建项目到svn,其他人下载并关联flutter。
其实,关联flutter和创建完全一致,只是创建完成后,将flutter项目替换你创建的flutter新项目
第一步,新建Flutter Module
使用命令创建,这里因为你要去关联已有的flutter项目,你可以使用cmd命令进入特定的目录,比如下面就从D:\qhai\pro_android 换到了D:\qhai下,然后创建my_flutter文件夹,初始化一个项目
D:\qhai\pro_android> cd D:\qhai
D:\qhai> flutter create -t module my_flutter
第二步,引入flutter项目
首先在app下的build.gradle文件中添加以下配置:(JDK设置JDK1.8,同时导入flutter项目)
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
....
dependencies {
....
implementation project(':flutter')
....
}
然后在项目根目录下的setting.gradle文件中配置:(路径配置你 flutter create时的路径 ,“..”代表对应盘的根目录,上文项目在D盘中,所以这里指的是D盘根目录,直接写“D:”好像编译不过)
include ':app'
// 加入下面配置
setBinding(new Binding([gradle: this]))
evaluate(new File(
settingsDir.parentFile,
'../qhai/my_flutter/.android/include_flutter.groovy'
))
第三步,下载已建好的flutter工程(或者移动已建好的工程)
将已建好的flutter项目移动到D:\qhai\my_flutter下,svn和git都可以。
使用小提示,由于android的build会生成很多编译时文件,上传人在commit时可以过滤掉build下的文件,需要在右键TortoiseSVN->setting的Global ignore pattern中添加 */build/* (我用的是TortoiseSVN,所以讲TortoiseSVN)
到这里就完成关联了