android method

bool android({
  1. required Map<String, dynamic> data,
  2. String template = "./templates/android/build.gradle.hbs",
  3. required String output,
})

生成android文件

Implementation

bool android({
  required Map<String, dynamic> data,
  String template = "./templates/android/build.gradle.hbs",
  required String output,
}) {
  // 环境
  String env = data["env"];
  bool isDev = env == "dev";
  bool isTest = env == "test";

  String projectName = data["projectName"];

  // signingConfigs
  data["signingConfigs"] = {
    "name": env,
    "keyAlias": data["namespace"],
    "keyPassword": data["password"],
    "storeFile": "../jks/${projectName}_$env.jks",
    "storePassword": data["password"]
  };

  if (isDev) {
    data["signingConfigs"] = null;
  }

  data["buildTypes"] = {
    "name": isDev ? "debug" : "release",
    "isMinifyEnabled": false,
    "isShrinkResources": false,
    "resValue": 'resValue("string", "app_name", "${data["appName"]}")',
    "signingConfig": !isDev
        ? 'signingConfigs.getByName("$env")'
        : 'signingConfigs.getByName("debug")',
  };

  //  flavor
  data["productFlavors"] = {
    "name": isTest ? "uat" : env,
    "appName": data["appName"],
    "signingConfig": !isDev ? "signingConfigs.$env" : "signingConfigs.debug",
  };

  return generate(data: data, template: template, output: output);
}