开发者社区> 问答> 正文

有没有一种干净的方法可以让Android在颤振代码中生成特定的信息?

我正在使用Java将构建在Android上的应用程序迁移到使用Fltter+Dart的过程中。

就像我现在的应用程序,我增加了2种构建类型-release和debug在build.gradle档案。我正在指定在这些构建类型中使用的不同的ServerAPI URL。

示例BuildType信息-

    release {
        manifestPlaceholders = [hostName: "PROD SERVER", "version": "v1"]
    }
    debug {
        manifestPlaceholders = [hostName: "STAGE SERVER", "version": "v1"]
    }

}

在本地的android中,我可以使用android.content.pm.ApplicationInfo和android.os.Bundle若要获取代码中的信息以动态使用基本URL,请执行以下操作。

我的本地应用程序中的示例代码如下所示:

  ApplicationInfo app = this.getPackageManager()
      .getApplicationInfo(this.getPackageName(), PackageManager.GET_META_DATA);
  Bundle bundle = app.metaData;
  API_HOST = bundle.getString("api.host");
  API_VERSION = bundle.getString("api.version");

有没有一个颤振+飞镖的替代方案? 我一直在阅读,解决的方法似乎是创建多个主文件,然后使用适当的文件构建Production/dev应用程序。

展开
收起
游客5akardh5cojhg 2019-12-06 14:28:25 356 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载