既然有了脚手架,里面包含了一些基础的必备功能,那么我们以后每次新开一个APP的时候直接fork脚手架然后就可以开始了。

fork脚手架

在github上面新建一个私有仓库,例如叫 nis-app

1
2
3
4
5
# fork我的脚手架
git clone --bare https://github.com/vinurs/flutter-scaffold.git
# 推送到我们刚才新建的nis-app仓库
cd flutter-scaffold.git
git push --mirror https://github.com/vinurs/nis-app.git

然后,重新将 nis-app clone下来就可以了 git clone https://github.com/vinurs/nis-app.git

更新APP基础信息

有一些信息是每个APP的基础信息,因此我们需要进行修改:

  1. applicationId 参考修改applicationId/名称

  2. app icon 参考APP icon修改

  3. app splash 参考启动页

  4. 修改签名

    xcode 打开 ios/Runner.xcworkspace ,将对应的签名修改成我们需要的

  5. app title 修改 lib/mian.dart 里面的 GetMaterialApp 里面 title 字段

修改IOS编译脚本

build-ios.sh

修改 APP_NAME 为我们自己的app名称,例如 nis

修改 ios/fastlane/FastFile

1
2
3
provisioningProfiles: {
  "net.dieya.scaffold" => "vinurs-adhoc-profile"
}

这里的 net.dieya.scaffold 改成我们新的 applicationId

修改Android编译脚本

创建 keystore

1
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 100000 -alias key

修改key.properties

android/key.properties 里面的内容替换成我们刚才创建的

build-and.sh

修改 APP_NAME 为我们自己的app名称,例如 nis

设计搞尺寸

根据设计搞的尺寸修改 main.dart 里面 ScreenUtilInit 的尺寸,默认的是 375x667

同步脚手架

脚手架可能后面会进行一些更新,因此我们的app可能也会需要同步相应的功能,直接在项目的根目录下面执行下面的命令就好

1
2
3
4
5
6
7
8
# 设置上游库
git remote add upstream https://github.com/vinurs/flutter-scaffold.git

# 禁止向上游push
git remote set-url --push upstream DISABLE

git fetch upstream
git merge upstream/main

我把这个写成了脚本放在项目的根目录下面,因此只要执行这个命令就会进行同步;另外,为了尽量防止冲突,我在构建脚手架的时候尽量把文件独立开来,不影响我们自己app的开发。

更新历史

2021/03/05

  • 初稿